Re: exclusive OR possible within a where clause?

From: David Salisbury <salisbury(at)globe(dot)gov>
To: David Fetter <david(at)fetter(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: exclusive OR possible within a where clause?
Date: 2011-10-17 19:15:12
Message-ID: 4E9C7EC0.1020205@globe.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/14/11 10:58 AM, David Fetter wrote:
> On Thu, Oct 13, 2011 at 07:49:59PM -0400, Tom Lane wrote:
>> David Salisbury<salisbury(at)globe(dot)gov> writes:

>>> Short version, is there a way to implement an exclusive OR in a where clause?
>>
>> The boolean<> operator will do the trick.
>>
>> (x = y)<> (a = b)
>>
>> regards, tom lane
>
> Factoring in NULLable columns, that's:
>
> (x IS NOT DISTINCT FROM y)<> (a IS NOT DISTINCT FROM b)
>
> Cheers,
> David.

Thanks for the replies!

I should note ( for the mail list archives I guess )
that the above suggestions don't work. Both rows are
returned whether I use OR or <>, though maybe I'm not
understanding something. I'm not sure why <> would work either,
as all I can find is <> is the same as !=, which is
different than the fabled XOR I was hoping for. In fact
they would never equal.

But in the end it looks like wrapper sql around my output using
"select distinct.." should do the trick.

-Dave

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John R Pierce 2011-10-17 19:19:41 Re: exclusive OR possible within a where clause?
Previous Message Henry Drexler 2011-10-17 19:13:32 Re: Use true and false when bulk-exporting boolean data