MySQLで日付データを指定の形にフォーマットして出力する方法を説明してみたいと思います。
フォーマットするにはDATE_FORMAT関数を使って、出力したいフォーマットを指定するだけです。
DATE_FORMAT(日付データ, フォーマット)で指定のフォーマットで出力されます。
SELECT
DATE_FORMAT('2021-8-5 1:3:4', '%Y/%m/%d %H:%i:%s')
実行結果
2021/08/05 01:03:04
指定できるフォーマットは下の図のようなものがあります。
フォーマット | 説明 | 例 |
---|---|---|
%y | 年 2桁 | 2021 → 21 |
%Y | 年 4桁 | 2021 → 2021 |
%c | 月 0埋めなし | 8 → 8 |
%m | 月 0埋めあり | 8 → 08 |
%e | 日 0埋めなし | 5 → 5 |
%d | 日 0埋めあり | 5 → 05 |
%k | 時 0埋めなし | 1 → 1 |
%H | 時 0埋めあり | 1 → 01 |
%i | 分 0埋めあり | 3 → 03 |
%s | 秒 0埋めあり | 4 → 04 |
%p | AM/PM | 18時 → PM |
%M | 月 英語 | 8 → August |
%W | 曜日 英語 | Thursday |
%w | 曜日 数字 | 日曜~土曜 → 0~6 |
実際にいろいろなフォーマットで出力するとこのようになります。
DATE_FORMAT('2021-8-5 1:3:4', '%y/%c/%e %k:%i:%s %p %M %W')
↓
21/8/5 1:03:04 AM August Thursday
DATE_FORMAT('2021-8-5 1:3:4', '%Y/%m/%d %H:%i:%s %w')
↓
2021/08/05 01:03:04 4
大文字と小文字で意味が変わってくるものもあるので、使うときは注意して使いましょう。
コメント