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')
我是 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')