2
做时使用简单的数学NOW()...MySQL的NOW()列不正确的时间值 - 错误代码1292
mysql>
select cdrstatuschangets from cdrs where (cdrstatuschangets < now() - 10);
+---------------------+
| cdrstatuschangets |
+---------------------+
| 2009-09-25 13:55:50 |
+---------------------+
1 row in set (0.00 sec)
show warnings;
Empty set (0.00 sec)
经常的工作,但有时,...
mysql>
select cdrstatuschangets from cdrs where (cdrstatuschangets < now() - 50);
+---------------------+
| cdrstatuschangets |
+---------------------+
| 2009-09-25 13:55:50 |
+---------------------+
1 row in set, 1 warning (0.00 sec)
show warnings;
+---------+------+-----------------------------------------------------------------------+
| Level | Code | Message | |
+---------+------+-----------------------------------------------------------------------+
| Warning | 1292 | Incorrect datetime value: '20090925211564.000000' for column 'cdrStatusChangeTS' at row 1 |
+---------+------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)
,有时尽管预期会出现选择结果。
好的,可能会这样做,但我的问题是“简单的数学”机制的不可靠性。如果它没有实际用途,或者不能被依赖,那么它确实应该被当作语法错误或其他东西拒绝。 – Straff 2009-10-12 03:26:18
@Straff:完全同意。 – 2009-10-12 08:58:44