0

MySQLテーブルとdatetime型の列があります。デフォルト値は0000-00-0000: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-0100:00:00」のようなことを行うことができます。1970年1月1日は、一般的に使用されるエポック日付です。

于 2012-06-26T15:03:21.480 に答える