Re: SQL question
От | Carolyn Lu Wong |
---|---|
Тема | Re: SQL question |
Дата | |
Msg-id | 39728072.31520F2F@kss.net.au обсуждение исходный текст |
Ответ на | Re: SQL question (Philip Warner <pjw@rhyme.com.au>) |
Ответы |
Re: SQL question
|
Список | pgsql-sql |
Philip Warner wrote: > > At 12:07 17/07/00 +1000, Carolyn Lu Wong wrote: > >I have table with the following definition: > > > > create table table1( > > account_no int4, > > start_date_tme datetime > > .... > > ); > > > >The table may contain null values for start_date_time. > > > >When I run the following SQL query, it fails: > > > > select * from table1 > > where start_date_time::date >= '01/01/2000'::date > > and start_date_time::date <= '01/01/2001'::date; > > > >I get error message 'Unable to convert null datetime to date. > > > >It's fine if I run the same SQL query with added condition as follows: > > > > select * from table1 > >> where account_no = 1 > > and start_date_time::date >= '01/01/2000'::date > > and start_date_time::date <= '01/01/2001'::date; > > > >Is this a bug? Or there's an logical explaination for this? > > The most logical explanation is that there are no null values in > start_date_time when account_no = 1. > > Try > select count(*) from table1 where account_no = 1 and start_date_time is > null; > > and see if you get 0. Yes, i get 0 from running the above query, but it fails if i re-arrange the where clause to: select * from table1where start_date_time::date >= '01/01/2000'::dateand start_date_time::date <= '01/01/2001'::dateand account_no= 1; with the same error message. > > ---------------------------------------------------------------- > Philip Warner | __---_____ > Albatross Consulting Pty. Ltd. |----/ - \ > (A.C.N. 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 |/
В списке pgsql-sql по дате отправления: