MySQLのDatetime型にはnullが二種類ある、ように見える。これは正しくないが、そんな感じに見えることがある。'0000-00-00'が絡む場合だ。 下記SQLを実行してみてほしい。a_testというテーブルを作って、そこにテストデータを3レコード突っ込んで、selectしている。 CREATE TABLE `a_test` ( Number integer(11) default null, `UpdateDatetime` datetime DEFAULT NULL ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COMMENT = 'test'; insert into a_test (Number,UpdateDatetime) values (1,null) , (2,'0000-00-00') , (3,'0001-01-01') ;