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