MySQLテーブルとdatetime型の列があります。デフォルト値は0000-00-0000:00:00のようなものです。
ネイティブMySQLクエリ機能を使用して、この日時列の特定の行の値が上記であるかどうかを確認するにはどうすればよいですか。たとえば、「SELECT * FROM table WHERE my_date <> '0000-00-00 00:00:00'」を使用しないでください。これは、さまざまなMySQLサーバーと構成でエラーが発生する可能性があるためです。
MySQLテーブルとdatetime型の列があります。デフォルト値は0000-00-0000:00:00のようなものです。
ネイティブMySQLクエリ機能を使用して、この日時列の特定の行の値が上記であるかどうかを確認するにはどうすればよいですか。たとえば、「SELECT * FROM table WHERE my_date <> '0000-00-00 00:00:00'」を使用しないでください。これは、さまざまなMySQLサーバーと構成でエラーが発生する可能性があるためです。
SELECT * FROM table WHERE my_date <> 0
あなたはそれをテストすることができます
select cast('0000-00-00 00:00:00' as datetime) = 0
true
これは(およびfalse
他のすべてのdatetime
値に対して)戻ります。
「SELECT*FROM table WHERE my_date>'1970-01-0100:00:00」のようなことを行うことができます。1970年1月1日は、一般的に使用されるエポック日付です。