内部的には文字列ではないらすぃ。
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がないのが気になるけど・・・。
詳しくは公式で。