OR working strangely.
От | Börkur Sigurbjörnsson |
---|---|
Тема | OR working strangely. |
Дата | |
Msg-id | PJECLEJFCKCCLOKOMKAHIEEBCDAA.borkur@handpoint.com обсуждение исходный текст |
Ответы |
Re: OR working strangely.
|
Список | pgsql-general |
We are seeing very strange behaviour in our OR statements: > SELECT l.list AS list, l.locked AS usr FROM svr_lists_questions lq, svr_lists l WHERE ( l.locked != '{a7372de3-92b7-408b-8874-373b883b19a6}' ) OR ( 1=0 ) +----------------------------------------+---------------------------------- ------+ | list | usr | +----------------------------------------+---------------------------------- ------+ | {0aa12786-331b-f691-8d83-39d78ae8554e} | {16c1b998-4daf-7379-cefb-276cecb634e8} | +----------------------------------------+---------------------------------- ------+ Query OK, 1 rows in set (0,74 sec) > SELECT l.list AS list, l.locked AS usr FROM svr_lists_questions lq, svr_lists l WHERE ( l.locked != '{a7372de3-92b7-408b-8874-373b883b19a6}' ) OR lq.question IN SELECT lq.question FROM svr_lists_questions lq, svr_lists l WHERE lq.list = l.list AND l.locked != '{a7372de3-92b7-408b-8874-373b883b19a6}' GROUP BY lq.question ) AND lq.list = l.list ) +------+-----+ | list | usr | +------+-----+ +------+-----+ Query OK, 0 rows in set (0,64 sec) Note that "(criteria 1) OR (1=0)" returns a result, but "(criteria 1) OR (criteria 2)" returns an empty table! Criteria 2 should be a don´t care factor in this, since (1=0) is obviously false. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Börkur Sigurbjörnsson, developer borkur@handpoint.com tel: + 354 561 0700 mobile: + 354 869 2122 handPoint www.handpoint.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В списке pgsql-general по дате отправления: