有没有什么方法可以在不创建日历表的情况下计算雪花中两个日期之间的工作日,只使用“datediff”函数
答案 0 :(得分:1)
经过对雪花datediff函数的研究工作,得出以下结论。
总结这两点,我实现了下面的逻辑。
SELECT
( DATEDIFF(DAY, START_DATE, DATEADD(DAY, 1, END_DATE))
- DATEDIFF(WEEK, START_DATE, DATEADD(DAY, 1, END_DATE))*2
- (CASE WHEN DAYNAME(START_DATE) != 'Sun' THEN 1 ELSE 0 END)
+ (CASE WHEN DAYNAME(END_DATE) != 'Sat' THEN 1 ELSE 0 END)
) AS WORKING_DAYS