Teradata 中的周数从周一到周日

Week Number in Teradata from Monday to Sunday

在 2018 年的 Teradata SYS_CALENDAR.CALENDAR 中,WEEK_OF_YEAR 从周日到周六开始。但我希望 WEEK_OF_YEAR 从周一到周日开始为 1

所以 01-Jan-2018 to 07-Jan-2018 WEEK_OF_YEAR 将是 1 : : 31-Dec-2018 WEEK_OF_YEAR 将是 53 (一旦结束,应该从 1 开始) 01-Jan-2019 to 06-Jan-2019 WEEK_OF_YEAR 将是 1

这将 return 您预期的结果,从星期日到星期六的一周以及一年中的第一个星期日总是在第 1 周:

((DayNumber_Of_Year(calendar_date, 'compatible') + (6-DayNumber_Of_Week(calendar_date, 'iso'))) / 7) + 1

使用一次即可create/update您自己的日历。对于重复使用,您最好将此计算包装在 SQL UDF 中。