On þri, 2006-11-28 at 12:28 -0700, Scott Ribe wrote:
> >>> where a <> b or (a is null and b is not null) or (a is not null and
> >>> b is null)
> >> 
> >> In the absence of IS DISTINCT FROM, I think this has the same semantics:
> >> 
> >>    where coalesce(a, b) <> coalesce(b, a)
> > 
> > sorry, but no.
> 
> So it would have to be where coalesce(a, b, 0) <> coalesce(b, a, 0) for your
> example with ints, and likewise some default value for other column types...

no cigar.

test=# select a,b,
   coalesce(a, b, 0) <> coalesce(b, a, 0) as john,
   a IS DISTINCT FROM b as dist
   from logic;
 a | b | john | dist
---+---+------+------
   |   | f    | f
   | 1 | f    | t
 1 |   | f    | t
 1 | 1 | f    | f
(4 rows)


gnari




---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to