Teradata 更改周数格式

Teradata Change format of Week Number

我是 SQL 的新手,所以我希望这不是一个愚蠢的问题,尝试 google 但找不到任何东西。

我在 SQL 中汇总部门每周的销售额,并使用 TD_SYSFNLIB.WEEKNUMBER_OF_YEAR (trans_dt) 获取周数。

我认为一切正常,除了我想将周的格式更改为一周的开始日期,例如第 1 周 = 1/4/15

此外,我不确定如何处理一年中的第 0 周,因为我认为应该将其与去年的第 52 周归为一组。

以下日期数学技巧应该可以让您将周初作为实际日期,而无需加入 SYS_CALENDAR 视图或使用函数:

SELECT CURRENT_DATE - ((CURRENT_DATE - DATE '0001-01-07) MOD 7) AS BOW;

从 TD14 开始,NEXT_DAY returns 之后的 工作日,如果减去 7 天,则得到前一天:

next_day(trans_dt - 7, 'sunday')