From: | Philip Warner <pjw(at)rhyme(dot)com(dot)au> |
---|---|
To: | pgsql-sql(at)hub(dot)org |
Subject: | Operator Precedence problem? |
Date: | 2000-08-12 05:49:18 |
Message-ID: | 3.0.5.32.20000812154918.01f4e1d0@mail.rhyme.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I have a peculiar problem that I can't reproduce on a trivial database:
select product, priority, count(*) as completed from issue
where
product = 'DIS'
and create_date < '1-Aug-2000' and finish_date >= '1-Aug-2000' or
finish_date is null
group by product, priority;
This produces a list of all products - not just 'DIS'. If I put the last
two clauses in parnthesis, then it works as expected:
select product, priority, count(*) as completed from issue
where
product = 'DIS'
and create_date < '1-Aug-2000' and (finish_date >= '1-Aug-2000' or
finish_date is null)
group by product, priority;
Which makes me think that the precedence of 'or' is not what I expected. Is
this a feature? If so, the fact that I get precisely the opposite behaviour
in simple test databases must be a bug, I think.
Any help or explanation would be appreciated...
----------------------------------------------------------------
Philip Warner | __---_____
Albatross Consulting Pty. Ltd. |----/ - \
(A.B.N. 75 008 659 498) | /(@) ______---_
Tel: (+61) 0500 83 82 81 | _________ \
Fax: (+61) 0500 83 82 82 | ___________ |
Http://www.rhyme.com.au | / \|
| --________--
PGP key available upon request, | /
and from pgp5.ai.mit.edu:11371 |/
From | Date | Subject | |
---|---|---|---|
Next Message | John McKown | 2000-08-12 13:50:04 | Re: Week of the Year? |
Previous Message | John McKown | 2000-08-12 02:55:05 | Re: Week of the Year? |