根据本周的天数获取 Teradata 中的 last/current 星期二日期

get last/current Tuesday date in Teradata based on day count of current week

如果(星期几 < 2)如何在 Teradata 中获取上周二的日期 否则当前星期二日期(如果星期几 >2)

例如星期几 = 2 今天(2018 年 10 月 15 日)然后获取上周二的日期(09/10/2018)

星期几 > 2(2018 年 10 月 17 日)获取本周星期二 (16/10/2018)

我想最好使用 Teradata 的精确方法

我有以下 sql 代码

DECLARE @StartDt AS  DATE;
DECLARE @EndDt AS  DATE;
DECLARE @Dt AS  DATE;
select @RDt=CASE WHEN CAST(DATEPART(DW,GETDATE()) AS INT) > 2 
        THEN 
        CAST(DATEADD(WK, DATEDIFF(WK,0,GETDATE()), 1) AS DATE)
        ELSE  
         CONVERT(VARCHAR,DATEADD(WK,DATEDIFF(WK,6,GETDATE()),1),107) END

select @StartDt=CAST(DATEADD(WK,DATEDIFF(WK,6,@Dt),0) AS DATE) 
select @EndDt=CAST(DATEADD(WK,DATEDIFF(WK,6,@Dt),6) AS DATE) 

我需要等效的 teradata 代码。

next_day 得到下一个工作日,应用一些逻辑结果:

Next_Day(calendar_date - 7, 'tuesday')