データアナリストくんのblog

データアナリストとして働いている人がちょっと調べる内容をまとめるブログ

AWS Athena(Presto)で時間処理

いつも時間処理系のクエリを忘れてしまうのでメモ。。。
Presto time関連のドキュメント

文字型からdatetime型

'YYYY-MM-DD'
→ DATE(time_col)

'YYYY-MM-DDTHH:mm:ss+zzzz'
→ from_iso8601_timestamp(time_col)

'YYYYMMDD'
→ DATE_PARSE(time_col, '%Y%m%d')

単純に変換
→ TRY_CAST(time_col AS timestamp)

※TRY_CASTはCASTでも可。変換できないものをNULLにしてくれるのでTRYの方をよく使っている。

datetime型から文字型

特定の形に変換
→ DATE_FORMAT(time_col, 'time_format') 
 or
 FORMAT_DATETIME(time_col, 'time_format')
ex) DATE_FORMAT(time_col, '%Y-%m-%d %H:%i:%s')

単純に変換
→ TRY_CAST(time_col AS varchar)

time_format部分のドキュメント