我正在尝试将查询修改为从查询值提供“ extract(来自datetime的字段)”中的日期起提取天,周,月等。
这是Redshift的。下面是我正在研究的简化示例。尝试为各种日期存储区创建摘要,而不必一遍又一遍地重复相同的查询。
SELECT
visit_start_date_et,
period_type,
extract(period_type from visit_start_date_et) as Period
FROM f_visit_dates
cross join d_period_type
名为f_visit_dates的输入表 具有单个日期列visit_start_date_et和两行:
visit_start_date_et
-------------------
'2017-03-14'
'2018-05-06'
名为d_period_type的输入表包含五行和一列varchar(10)列:
period_type
-----------
'doy'
'week'
'month'
'quarter'
'year'
输出应如下所示:
visit_start period_type period
----------- ----------- ------
2017-03-14 day 73
2017-03-14 week 11
2017-03-14 month 3
2017-03-14 quarter 1
2017-03-14 year 2017
2018-05-06 day 126
2018-05-06 week 18
2018-05-06 month 5
2018-05-06 quarter 2
2018-05-06 year 2018
我还要补充一点,显然上述内容不起作用。我还尝试通过“ WITH”子句提供值,但这也不起作用。