【TreasureData】データ型の変換

2022年6月10日TreasureData,データベース

TreasureDataで扱うデータ型の変換例です。

記載内容 ①数値型を文字列型に変換する
②timeカラムをDate型に変換する
③現在の年月日時刻を文字列に変換する
④現在の年月日から1日引く

①数値型を文字列型に変換する

cast関数

  • データ変換で使用する基本的な関数です
  • テーブルから取得する値を変換します
  • prestoで使用できます
select
  cast(column_name as varchar)
from
  table_name
;

②time列の値をDate型に変換する

td_time_format関数

  • テーブル作成時に設定されるtime列の値をUnixtime型からDate型に変換して出力します
  • td_time_format関数を使用します
  • 変換したtimeカラムを別カラム名(datetime)で出力します
select
  td_time_format(time, 'yyyy-MM-dd HH:mm:ss', 'JST') as datetime
from
  table_name
;

③現在の年月日時刻を文字列に変換する

now関数

  • now関数から取得する日本標準時間を変換します
  • フォーマットはyyyyMMdd等の形式に変更可能です
  • 実行日は2022年6月10日です
select
  td_time_format(td_time_parse(cast(now() as varchar)), 'yyyy-MM-dd HH:mm:ss', 'JST')
;

【実行結果】

④現在の年月日から1日引く

date_add関数

  • date_add関数で負の数を指定することで日付の引き算ができます
  • ここでは対象に'day'を指定していますが、'month'を指定すると月に対して加算(減算)できます
  • 実行日は2022年6月10日です
select
  date_format(date_add('day', -1, now()), '%Y-%m-%d')
;

【実行結果】