datetime型をunixtimeに変換

MySQLにおいて表題の通り。以前はunixtime(エポック秒)を人が理解しやすい表記に変換したが今回は逆である。

■ 環境

  • MySQL 5.6.35

■ unix_timestamp

datetime型のカラムが存在する。これをunixtimeで取得するには下記のように”unix_timestamp()“を使用すれば良い。

mysql> desc users;
+------------------------+--------------+------+-----+---------+----------------+
| Field                  | Type         | Null | Key | Default | Extra          |
+------------------------+--------------+------+-----+---------+----------------+
| id                     | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| name                   | varchar(255) | YES  |     | NULL    |                |
  :
| created_at             | datetime     | NO   |     | NULL    |                |
| updated_at             | datetime     | NO   |     | NULL    |                |
  :

mysql>

ここから”created_at“をunixtimeで取得したい。

mysql> select id, name, unix_timestamp(created_at) from users;
+----+------------+------------+
| id | name       | created_at |
+----+------------+------------+
|  1 | test       | 1512623164 |
|  2 | test       | 1512975404 |
  :
mysql>

以上。

■ 関連

unixtimeをSQLで変換

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA