mySQLやSQLserverでDATETIMEの最小値・最大値の違い

DATETIME型 SQLとひとことで言ってもOracleやPostgreSQL、DB2、mySQL、SQLserverといろいろあるのですが、データの移し変えをしていてどうもうまくいかないと思っていたらDATETIME型の最大値と最小値に違いがあるようなのです。 そこでmySQLとSQLserverでのDATETIME型の最小値と最大値を調べてみました。

最小値 最大値
mySQL 1000-01-01 00:00:00 9999-12-31 23:59:59
sqlServer 1753-01-01 00:00:00.000 9999-12-31 23:59:59.997
Oracle -4712-1-1 00:00:00 9999-12-31 23:59:59
PostgreSQL -4713-1-1 00:00:00 5874897-12-31 23:59:59
ただ、mySQLは0000-00-00 00:00:00を入れることもできて、WHERE句で1000-01-01 00:00:00よりも小さい値を指定しても、ちゃんと0000-00-00 00:00:00が対象に含まれるのが謎です。 ]]>

コメントする

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

上部へスクロール