Re: "large" IN/NOT IN subqueries result in query returning wrong data
От | elein |
---|---|
Тема | Re: "large" IN/NOT IN subqueries result in query returning wrong data |
Дата | |
Msg-id | 20051228003503.GE20674@varlena.com обсуждение исходный текст |
Ответ на | Re: "large" IN/NOT IN subqueries result in query returning wrong data (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: "large" IN/NOT IN subqueries result in query returning wrong data
|
Список | pgsql-sql |
On Tue, Dec 27, 2005 at 07:25:40PM -0500, Tom Lane wrote: > elein <elein@varlena.com> writes: > > In 8.0 we get: > > > elein=# select 1 in (NULL, 1, 2); > > ?column? > > ---------- > > t > > (1 row) > > > elein=# select 3 not in (NULL, 1, 2); > > ?column? > > ---------- > > > (1 row) > > > For consistency, either both should return NULL or > > both return true/false. > > The above behavior is correct per spec. Feel free to argue its > consistency with the SQL committee ;-) Oh, no! Not the committee! > > Note that the above are not inverses because you changed the lefthand > input. You do get consistent results when you just add or omit NOT: Yes, you are right. I skipped the permutations to get down to the point. > > regression=# select 1 not in (NULL, 1, 2); > ?column? > ---------- > f > (1 row) > > regression=# select 3 in (NULL, 1, 2); > ?column? > ---------- > > (1 row) > > regards, tom lane Thanks for your clarification. ~elein elein@varlena.com
В списке pgsql-sql по дате отправления: