【问题标题】:Get all days in a month excluding weekends postgresql获取一个月中的所有天数,不包括周末 postgresql
【发布时间】:2022-02-22 19:20:31
【问题描述】:

我想为postgresql写一个查询sql,它基本上可以返回我一个月的所有日子,不包括周末。

例如(2019 年 11 月):

  • 第一周:11/1
  • 第二周:11/4 -> 11/8
  • 第三周:11/11 -> 11/15
  • 第四周:11/18 -> 11/22
  • 第五周:11/25 -> 11/29

我找不到任何可以提供帮助的 postgresql 请求,这应该是自动的,而不是每次手动输入一个新日期。

【问题讨论】:

    标签: sql postgresql datetime recursive-query date-arithmetic


    【解决方案1】:

    一种方法是:

    select dt 
    from generate_series(date'2019-11-01', date'2019-11-30', interval '1' day) as t(dt)
    where extract(dow from dt) between 1 and 5
    

    generate_series() 生成一个月中所有日期的列表,然后where 子句仅过滤工作日。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2018-09-12
      • 1970-01-01
      相关资源
      最近更新 更多