dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

mysql で日時を数値で取得する方法

2019-09-16 17:38:03 | mysql
mysql で日時を数値で取得する方法のメモ。

日時を数値で取得する場合に、unix_timestamp() を使うと数値で日時を取得できます。
select unix_timestamp('2019-09-16 00:00:00');

1568559600


しかし、unix_timestamp() だと2038年問題があり、期待した結果が得られないことがあります。
select unix_timestamp('9999-01-01 00:00:00');

0


以下のようにすれば、日時を数値で取得することができます。
select cast(date_format('9999-01-01 00:00:00', '%Y%m%d%H%i%s') as decimal(14));

99990101000000

年が4桁を超える場合には、decimal(14) の 14 を増やす必要がありますが。