根据本周的天数获取 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')
如果(星期几 < 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')