【问题标题】:SQL calculate number of days in month excluding weekends and holidays daysSQL 计算每月的天数,不包括周末和节假日
【发布时间】:2020-07-28 10:01:23
【问题描述】:

我有大约相同的表(不包括计数列)。我想计算工作日数(周一至周五)并排除公共假期。

我尝试尝试以下查询

SELECT count(distinct(date)) from MYDB where dummy <> 1

但是,它给出了包括周末在内的唯一总天数。此外,如果使用此命令,它会计算不同的日期,但是,我的日期不会显示整月,因此应该使用另一个逻辑。你能帮忙找出哪个代码更好用吗?

【问题讨论】:

    标签: sql vertica


    【解决方案1】:

    Vertica 中应该有一个函数可以从日期中提取工作日,因此要排除周末,您需要添加另一个条件,例如

    extract(dow from date) not in (6,0)
    

    (在这种情况下,6 是星期六,0 是太阳)

    【讨论】:

    • 计数列现在显示一周的工作日数 (1-5)。
    • 不确定你做了什么以及你想要达到什么目的......我的意思是添加第二个条件:where dummy &lt;&gt; 1 and extract(dow from date) not in (6,0)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    相关资源
    最近更新 更多