Re: Issue with NULL varchars - Mailing list pgsql-jdbc

From Craig Ringer
Subject Re: Issue with NULL varchars
Date
Msg-id 47E8D337.2030807@postnewspapers.com.au
Whole thread Raw
In response to Issue with NULL varchars  ("antony baxter" <antony.baxter@gmail.com>)
List pgsql-jdbc
antony baxter wrote:

>       // Retrieve that Locale's ID by its Data:
>       p = c.prepareStatement("SELECT COUNT(*) FROM testing WHERE variant = ?");

To avoid conditionally rewriting your query to use IS NULL / IS NOT NULL
instead of equality, you could also use IS DISTINCT FROM. Instead of:

    where variant = ?

try using:

    where not (variant is distinct from ?)


craig=# \pset null '<null>'
Null display is "<null>".

craig=# select null = null;
 ?column?
----------
 <null>
(1 row)

craig=# select not( null is distinct from null );
 ?column?
----------
 t
(1 row)

craig=# select not (1 is distinct from 1);
 ?column?
----------
 t
(1 row)

craig=# select not (1 is distinct from 2);
 ?column?
----------
 f
(1 row)

craig=# select not (null is distinct from 2);
 ?column?
----------
 f
(1 row)


See:

http://www.postgresql.org/docs/8.3/static/functions-comparison.html

--
Craig Ringer

pgsql-jdbc by date:

Previous
From: Craig Ringer
Date:
Subject: Re: Issue with NULL varchars
Next
From: "Albe Laurenz"
Date:
Subject: Re: Issue with NULL varchars