MySQLのDATE型にINSERTできる日付フォーマット

MySQL

この記事は最終更新日から1年以上が経過しています。

はじめに

'2018-05-31' でも '20180531' でも正しくINSERTできたので、どこまでできるのか調べてみました。

  • MySQL Version 5.7.22

検証

とりあえずDATE型のカラムがあるテーブルを作成します。

まず普通に - 区切り。 '2018-05-31'
当然正しく入ります。

/ 区切りも正しく入ります。 '2018/05/31'

区切り文字なしでもいけます。 '20180531'

半角記号ならなんでもいけるようです。
'2018+05+31''2018{05>31' をINSERTしてみました。

ただしバックスラッシュ \ はエスケープ文字なので偶数個重ねる必要があります。

半角文字 '2018a05z31' や全角文字 '2018年05月31日' はだめでした。

半角記号ならば何個重ねても良いようなので、 '2018~!@#$05^&*()31' とかでもできました。

正しい年月日の範囲ならば何桁でも良いようです。
頭に 0 をつけてINSERTしてみました。

まとめ

この仕様ありがたいのか迷惑なのか。。。
用法用量をお守りください。

MySQL