MySQL 8.0.30でFROM_UNIXTIMEを使ってunixtimeから日時を取得する

環境
Windows 11 Pro 21H2 64bit
MySQL 8.0.30

構文
FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)

関数が文字列と数値のどちらのコンテキストで使用されたのかに応じて、unix_timestamp 引数の表現を 'YYYY-MM-DD HH:MM:SS' または YYYYMMDDHHMMSS 書式の値として返します。値は、現在のタイムゾーンで表現されています。

unix_timestamp は、UNIX_TIMESTAMP() 関数で生成されるような内部タイムスタンプ値です。
UNIX タイムスタンプを日付として書式設定します.

使用例1

mysql> SELECT FROM_UNIXTIME(1664463600);
+---------------------------+
| FROM_UNIXTIME(1664463600) |
+---------------------------+
| 2022-09-30 00:00:00       |
+---------------------------+
1 row in set (0.00 sec)

使用例2
format が指定されている場合は、DATE_FORMAT() 関数のエントリで一覧表示される場合と同じ方法で使用される format 文字列に従って、結果が書式設定されます。

mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y %D %M %h:%i:%s %x');
+--------------------------------------------------------+
| FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y %D %M %h:%i:%s %x') |
+--------------------------------------------------------+
| 2022 6th September 07:36:54 2022                       |
+--------------------------------------------------------+
1 row in set (0.03 sec)

使用例3
マイナスを指定すると、nullが返されます。

mysql> SELECT
    -> FROM_UNIXTIME(-1);
+-------------------+
| FROM_UNIXTIME(-1) |
+-------------------+
| NULL              |
+-------------------+
1 row in set (0.05 sec)

 

MySQL

Posted by arkgame