在 Snowflake sql 中计算 2 个日期之间的 20 个工作日
Calculating 20 business days between 2 dates in Snowflake sql
- 我想计算日期 2 是否大于雪花中日期 1 的 20 个业务。
示例数据
Date1 Date2
2021-01-16 2021-04-01
2020-03-02 2020-04-05
2020-06-09 2020-06-30
我正在尝试这样的事情,只是想看看我是否可以正确计算 20 个工作日,但它给出了错误的结果
SELECT *,
DATEADD(DAY, 25 + DECODE(EXTRACT(DOW FROM DATE1), 4, 2, 5, 2, 6, 7, 8, 9, 10, 1, 0, 11, 12,13, 14,15,16, 17,18,19, 20),
DATE1) BD_20
FROM (SELECT * FROM table);
据推测,工作日是指周一至周五。如果是这样,20 个工作日正好是 4 周,正好是 28 天。
那就是:
select t.*,
(date2 > date1 + interval '28 day') as flag
from t;
- 我想计算日期 2 是否大于雪花中日期 1 的 20 个业务。
示例数据
Date1 Date2
2021-01-16 2021-04-01
2020-03-02 2020-04-05
2020-06-09 2020-06-30
我正在尝试这样的事情,只是想看看我是否可以正确计算 20 个工作日,但它给出了错误的结果
SELECT *,
DATEADD(DAY, 25 + DECODE(EXTRACT(DOW FROM DATE1), 4, 2, 5, 2, 6, 7, 8, 9, 10, 1, 0, 11, 12,13, 14,15,16, 17,18,19, 20),
DATE1) BD_20
FROM (SELECT * FROM table);
据推测,工作日是指周一至周五。如果是这样,20 个工作日正好是 4 周,正好是 28 天。
那就是:
select t.*,
(date2 > date1 + interval '28 day') as flag
from t;