根据当前星期的天数获取Teradata中的上一个/当前星期二日期

时间:2018-10-15 08:51:06

标签: date teradata

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

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

一周中的某天> 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代码。

1 个答案:

答案 0 :(得分:0)

next_day可以在下一个工作日使用以下逻辑结果:

Next_Day(calendar_date - 7, 'tuesday')