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部分のドキュメント