Intentional, or bug?
От | Kovacs Baldvin |
---|---|
Тема | Intentional, or bug? |
Дата | |
Msg-id | Pine.GSO.4.33.0109161601050.10242-100000@ural2 обсуждение исходный текст |
Ответы |
Re: Intentional, or bug?
|
Список | pgsql-sql |
Hi! I probably found an inconsistence of the working of the = operator. Please read ahead, if you're interested. I have two tables, let't call them a and b. They are: a) x | y ----------------------------- 1 | 100 2 | NULL b) y | z ----------------------------- 1 | 'hallelujah' NULL | 'hmm...' Now let's issue this query: select b.z from a,b where a.y=b.y; The answer is: 'hallelujah', but it omits 'hmm...'. Now let's issue the following: select NULL = NULL; The answer is: true!!! My question is why does it omit the rows with NULL at the first case? However, I have a real life problem, when not all data is given in a column, so I need a query to include the NULL=NULL rows. I can workaround it as defining a new operator, ~=, with the meaning "both null, or =". I did it, it works, but very slow. So, is it an intentinal way of functioning, or it is bug somewhere? Thanks, Baldvin
В списке pgsql-sql по дате отправления: