At 3:29 PM +0100 6/15/07, Ben Clewett wrote:
Dear MySql,
I have noticed a change in behaviour in MySql 5.0.41 from 5.0.26
with date comparisons.
In 5.0.26: '2007-06-15' = '2007-06-15 00:00:00' is True.
In 5.0.41: '2007-06-15' = '2007-06-15 00:00:00' is False.
In 5.1.6-alpha: '2007-06-15' = '2007-06-15 00:00:00' is True.
This has caused us a few problems. Is this the way things should
be, because this change does not seem right?
I am also very worried that this behaviour revert when we role out 5.1?
Does any member know whether this is a bug, or just an anoying feature?
Regards,
Ben
To Replicate:
CREATE TABLE t (d DATE);
INSERT INTO t VALUES ('2007-06-15');
SELECT COUNT(*) FROM t WHERE d = '2007-06-15 00:00:00';
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
SELECT COUNT(*) FROM t WHERE d = '2007-06-15';
+----------+
| COUNT(*) |
+----------+
| 1 |
+----------+
This might be relevant:
"Prior to MySQL 5.0.42, when DATE values are compared with DATETIME
values the time portion of the DATETIME value is ignored. Starting
from MySQL 5.0.42, a DATE value is coerced to the DATETIME type by
adding the time portion as '00:00:00'. To mimic the old behavior use
the CAST() function in the following way: SELECT date_field =
CAST(NOW() as DATE);."
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
There is a corresponding change in 5.1.18.
See: http://bugs.mysql.com/bug.php?id=28929
--
Paul DuBois, MySQL Documentation Team
Madison, Wisconsin, USA
MySQL AB, www.mysql.com
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]