TreasureDataで日付計算(Hive)
7152 ワード
概要
TreasureDataのクエリでWhere条件の期間を動的に取得したくて、日付の計算を調べて見た結果をメモしておく。
日付計算クエリ
SELECT
-- 今日
TD_TIME_FORMAT(
TD_DATE_TRUNC('day', TD_SCHEDULED_TIME(), 'JST'),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as today,
-- 昨日
TD_TIME_FORMAT(
TD_DATE_TRUNC('day', TD_TIME_ADD(TD_SCHEDULED_TIME(), '-1d', 'JST'), 'JST'),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as yesterday,
-- 今月1日
TD_TIME_FORMAT(
TD_DATE_TRUNC('month', TD_SCHEDULED_TIME(), 'JST'),
'yyyy-MM-dd HH:mm:ss',
'JST'
),
-- 先月1日
TD_TIME_FORMAT(
TD_DATE_TRUNC(
'month',
TD_TIME_ADD(TD_DATE_TRUNC('month', TD_SCHEDULED_TIME(), 'JST'), '-1d', 'JST'),
'JST'
),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as pre_month,
-- 2ヶ月前の1日
TD_TIME_FORMAT(
TD_DATE_TRUNC(
'day',
TD_TIME_PARSE(
ADD_MONTHS(TD_TIME_FORMAT(TD_SCHEDULED_TIME(), 'yyyy-MM-01', 'JST'), -2),
'JST'
),
'JST'
),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as pre_2month,
-- 3ヶ月前の1日
TD_TIME_FORMAT(
TD_DATE_TRUNC(
'day',
TD_TIME_PARSE(
ADD_MONTHS(TD_TIME_FORMAT(TD_SCHEDULED_TIME(), 'yyyy-MM-01', 'JST'), -3),
'JST'
),
'JST'
),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as pre_3month,
-- 半年前の1日
TD_TIME_FORMAT(
TD_DATE_TRUNC(
'day',
TD_TIME_PARSE(
ADD_MONTHS(TD_TIME_FORMAT(TD_SCHEDULED_TIME(), 'yyyy-MM-01', 'JST'), -6),
'JST'
),
'JST'
),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as pre_6month,
-- 1年前
TD_TIME_FORMAT(
TD_DATE_TRUNC('day', TD_TIME_ADD(TD_SCHEDULED_TIME(), '-365d', 'JST'), 'JST'),
'yyyy-MM-dd HH:mm:ss',
'JST'
) as pre_year
;
参考サイト
Author And Source
この問題について(TreasureDataで日付計算(Hive)), 我々は、より多くの情報をここで見つけました https://qiita.com/reflet/items/a3d1db1a1746944198ba著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .