0

我有一个 MySQL 表和一个日期时间类型的列。它的默认值类似于 0000-00-00 00:00:00。

如何使用本机 MySQL 查询功能检查此日期时间列上给定行的值是否为上述值。例如,不使用“SELECT * FROM table WHERE my_date<>'0000-00-00 00:00:00'”,因为这为我相信的不同 MySQL 服务器和配置上的错误留出了空间。

4

2 回答 2

1
SELECT * FROM table WHERE my_date <> 0

你可以用

select cast('0000-00-00 00:00:00' as datetime) = 0

它返回true(以及false所有其他datetime值)。

于 2012-06-26T15:02:00.130 回答
0

您可以执行类似“SELECT * FROM table WHERE my_date > '1970-01-01 00:00:00”之类的操作。1/1/1970 是常用的纪元日期。

于 2012-06-26T15:03:21.480 回答