I am having issues with type conversion not working as expected per the documentation. I am using in MySQL 5.0.27 for x86/Windows.
The documentation at http://dev.mysql.com/doc/refman/5.0/en/type-conversion.html states that for comparison operators "If one of the arguments is a TIMESTAMP or DATETIMEcolumn and the other argument is a constant, the constant is converted to a timestamp before the comparison is performed." So the following SQL statement should convert the last string to a timestamp then perform date-time comparison:
SELECT '2007-05-24 00:00:00' BETWEEN ('2007-3-23' - INTERVAL 24 HOUR) AND '2007-3-23 23:59:59';
Thus it should return 0 as 24th May is not in the given range. I get the result 1 however... If I perform an explicit conversion using CAST('2007-3-23 23:59:59' AS DATETIME) I get 0 as expected. Can anyone enlighten me - have I misunderstood something somewhere? Thanks, --rob