在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
答案 0 :(得分:2)
这将返回您的预期结果,从星期日到星期六,一年的第一个星期日总是在第1周:
((DayNumber_Of_Year(calendar_date, 'compatible') + (6-DayNumber_Of_Week(calendar_date, 'iso'))) / 7) + 1
使用此功能创建/更新您自己的日历。对于重复使用,最好将此计算包装在SQL UDF中。