Re: IS NULL seems to return false, even when parameter is NULL

From: "Andrus" <kobruleht2(at)hot(dot)ee>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Re: IS NULL seems to return false, even when parameter is NULL
Date: 2008-10-20 10:26:57
Message-ID: 9F9CF36A18A14D05BB4E048F2EDFB515@andrusnotebook
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

>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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Harald Armin Massa 2008-10-20 11:15:46 Re: Session variables (how do I pass session data to a function)
Previous Message Philip W. Dalrymple 2008-10-20 10:22:48 Session variables (how do I pass session data to a function)