我正在寻找一种简单的方法来选择000-00-00 00:00:00(基本上是默认的未设置值)的日期时间列。
以下查询似乎有效:
SELECT * FROM myTable WHERE datetimeCol < 1
但是,这会一直可靠地跨不同的 mysql 版本工作吗?
我会像这样检查"零"日期:
SELECT * FROM myTable WHERE datetimeCol = CONVERT(0,DATETIME)
我更喜欢平等谓词而不是不平等谓词;它似乎更清楚地传达了我的意图。如果语句中有更多的谓词,并且 datetimeCol 是索引中的前导列,则可以帮助优化程序使用多列索引。
试试这个:
SELECT * FROM myTable WHERE datetimeCol = '0000-00-00 00:00:00'
事后看来似乎很明显;)
与0
值进行比较怎么样:
datetimeCol = 0
试试这个:
SELECT * FROM myTable WHERE UNIX_TIMESTAMP(datetimeCol) = 0