MySQLのdatetime型

内部的には文字列ではないらすぃ。
unixタイムスタンプ値に自動的に変換されてるっぽい?
つーことはsigned int型かしらん。
hogedateというdatetime型の値があったとして

select count(*) from table_hoge where unix_timestamp(hogedate)>0
よりは
select count(*) from table_hoge where hogedate>0

の方が良い。
intなのかなぁ・・・。
datetime型の書式は割りと柔軟らしい。
仮に不適切な値を入力しても

不適切な DATETIME、DATE、TIMESTAMP 値は、それぞれの型の
``ゼロ'' 値('0000-00-00 00:00:00'、'0000-00-00'、00000000000000)に変換されます。

ということらしい。0がないのが気になるけど・・・。
詳しくは公式で。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です