I get a strange result upon querying DB records in which the column
(VARCHAR) is set to NULL by default
the generated query is :
SELECT * FROM `contents` WHERE `contents`.`type` IN ('Article') AND
(state <> 'draft');
when contents.state is NULL, then the record IS NOT selected
when contents.state is'' ( empty ) then the record is selected
( obviously when set to any other value too..)
is it the 'standard' behavior ? ( so I'll have to change the
default ..)
or should I modify /add anything in the query ?
thanks for feedback
on 2012-06-08 16:05
on 2012-06-08 16:22
On Jun 8, 2012, at 8:04 AM, Erwin wrote: > when contents.state is NULL, then the record IS NOT selected > when contents.state is'' ( empty ) then the record is selected > ( obviously when set to any other value too..) Yes, it's how SQL works--NULL is 'unknown', so comparison with any value returns null. You need a SQL primer, and look especially for three-valued logic. -- Scott Ribe scott_ribe@elevated-dev.com http://www.elevated-dev.com/ (303) 722-0567 voice
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.