我有一组数据,其中包含一周中的一些日期。我需要从数据中提取下一个星期五的日期,如果该日期已经是星期五,则打印相同的日期。我尝试了多种来源,但出现了一个或另一个错误。我需要在雪花上输出。
如果日期是 30-04-2024,那么我需要的输出是 03-05-2024(即下周五),如果日期已经是 03-05-2024,则返回相同的日期(因为它已经是周五) ).
我从未使用过 snowflake,但查看文档,我建议结合使用 dayname、dateadd 和 case。
我不知道以下是否是 snowflake 的合法 [SQL] 语法,尽管如此,我还没有找到测试以下 SQL 的方法:
(请注意,下面假设
column
的类型为 DATE。)
select DATEADD(day, column, case DAYNAME(column)
when 'SAT' then 6
when 'SUN' then 5
when 'MON' then 4
when 'TUE' then 3
when 'WED' then 2
when 'THU' then 1
else 0
end) as FRIDAY
from table