SQL周末日期计算

问题描述 投票:0回答:1

我有一组数据,其中包含一周中的一些日期。我需要从数据中提取下一个星期五的日期,如果该日期已经是星期五,则打印相同的日期。我尝试了多种来源,但出现了一个或另一个错误。我需要在雪花上输出。

如果日期是 30-04-2024,那么我需要的输出是 03-05-2024(即下周五),如果日期已经是 03-05-2024,则返回相同的日期(因为它已经是周五) ).

sql snowflake-cloud-data-platform snowflake-schema
1个回答
0
投票

我从未使用过 snowflake,但查看文档,我建议结合使用 daynamedateaddcase

我不知道以下是否是 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
© www.soinside.com 2019 - 2024. All rights reserved.