Snowflake中DAYOFWEEK()返回0-7值是否正确?
Snowflake DAYOFWEEK() 返回0-7的表述是否准确?
准确。Snowflake的DAYOFWEEK()函数确实会返回0到7的数值,但这里的0和7其实对应同一天——周日,完整的取值映射如下:
- 0 = 周日
- 1 = 周一
- 2 = 周二
- 3 = 周三
- 4 = 周四
- 5 = 周五
- 6 = 周六
- 7 = 周日
这种设计是为了兼容不同的日期标注习惯:有些场景习惯用0代表周日,另一些则用7代表周日,Snowflake同时支持两种返回值,避免用户额外做格式转换。
你可以用下面的SQL验证这个逻辑:
SELECT DAYOFWEEK('2024-05-19'::DATE) AS sunday_returns_0, DAYOFWEEK('2024-05-26'::DATE) AS sunday_returns_7;
(2024-05-19和2024-05-26都是周日,执行后会分别返回0和7)
内容的提问来源于stack exchange,提问作者Felipe Hoffa
相关产品推荐
相关产品推荐

