けむブログ

データ分析に関する気付きや学びを記録するブログ

SQL presto 時間型の変更まとめ

型の種類

timestamp unixtime varchar date

型変換

  1. bigint型のunixtime人間にとって見やいvarchar型にする
TD_TIME_FORMAT(x,'yyyy-MM-dd','JST')
TD_TIME_FORMAT(1420038000 ,'yyyy-MM-dd','JST')
-> 2015-01-01

[in] 1420093526 bigint(unixtime) [out] '2018-10-29' varchar

  1. 人間にとって見やすいvarchar型bihing型のunixtime
TD_TIME_PARSE('2015-01-01','JST')
 -> 1420038000
  1. bigint型のunixtimetimestamp型
FROM_UNIXTIME(time)
FROM_UNIXTIME(1420093526 )
-> 2018-09-10 00:00:00.000

[in] 1420093526 bigint (unixtime) [out] 2018-09-10 00:00:00.000 (timestamp)

その他便利な関数

  1. timestamp型などを引数にもって、指定した単位で切り上げる
DATE_TRUNC(unit.x)
DATE_TRUNC('month', 2018-09-15 00:00:00.000 )
-> 2018-09-01 00:00:00.000

※xにはtimestamp型などが入る