你的Teradata版本是什么?
TD14支持NEXT_DAY,它比指定的日期晚返回第一个"工作日":
SELECT NEXT_DAY(CURRENT_DATE, 'sun'), -- next sunday
NEXT_DAY(CURRENT_DATE, 'sun')-14, -- previous week's sunday
NEXT_DAY(CURRENT_DATE, 'sun')-8 -- previous week's saturday
Run Code Online (Sandbox Code Playgroud)
编辑:
在TD13中,您可以减去星期几以获得前一周的结束日期,例如(CURRENT_DATE - DATE '0001-01-01') MOD 7 + 1,根据已知的星期一'0001-01-01',在星期一到星期日返回1到7.
根据您的需要进行修改(周日开始),结果如下:
SELECT
CURRENT_DATE - ((CURRENT_DATE - DATE '0001-01-07') MOD 7 + 7), -- previous week's Sunday
CURRENT_DATE - ((CURRENT_DATE - DATE '0001-01-07') MOD 7 + 1) -- previous week's Saturday
Run Code Online (Sandbox Code Playgroud)