IS NULL seems to return false, even when parameter is NULL
I have a strange problem with the following condition in a SELECT:
AND (("TableData" = "inDate") OR ("inDate" IS NULL))
it works perfectly when the input date in the function (inDate) matchs
a date in the table, but it does not work when the parameter inDate is
NULL.
I recall the function with pgadmin writing NULL as paramater.
It seems that ("inDate" IS NULL) never returns true, even when the
parameter is null...
What's wrong?
Lucazeo
Lucazeo <lucazeo@katamail.com> writes:
It seems that ("inDate" IS NULL) never returns true, even when the
parameter is null...
Exceedingly unlikely.
What's wrong?
You have not provided enough context for anyone to guess.
regards, tom lane
I have a strange problem with the following condition in a SELECT:
AND (("TableData" = "inDate") OR ("inDate" IS NULL))it works perfectly when the input date in the function (inDate) matchs
a date in the table, but it does not work when the parameter inDate is
NULL.
I recall the function with pgadmin writing NULL as paramater.
It seems that ("inDate" IS NULL) never returns true, even when the
parameter is null...
What's wrong?
Order is wrong, change it to
AND (("inDate" IS NULL) OR ("TableData" = "inDate") )
PostgreSQL OR is not commutative if left operand evaluates to NULL.
Andrus.
Andrus wrote:
I have a strange problem with the following condition in a SELECT:
AND (("TableData" = "inDate") OR ("inDate" IS NULL))it works perfectly when the input date in the function (inDate) matchs
a date in the table, but it does not work when the parameter inDate is
NULL.
I recall the function with pgadmin writing NULL as paramater.
It seems that ("inDate" IS NULL) never returns true, even when the
parameter is null...
What's wrong?Order is wrong, change it to
AND (("inDate" IS NULL) OR ("TableData" = "inDate") )
PostgreSQL OR is not commutative if left operand evaluates to NULL.
Seems to work here:
select (true or null) as a, (null or true) as b, (null or false) as c,
(false or null) as d;
a | b | c | d
---+---+---+---
t | t | |
(1 row)
--
Richard Huxton
Archonet Ltd