【问题标题】:How to get second Wednesday of the month如何获得每月的第二个星期三
【发布时间】:2019-02-12 13:37:31
【问题描述】:

我需要知道 current_date 是否是 PostgreSQL 每月的第二个星期三。

谁能帮帮我?

【问题讨论】:

  • 可以显示您尝试过的内容,将您的代码添加到帖子中。

标签: sql postgresql dayofweek


【解决方案1】:

您可以使用EXTRACT 查找星期几并将其与星期三(星期的第 3 天)进行比较,然后检查该月的日期是否介于 8 号和 14 号(含)之间,这将使第二个星期三:

select extract(dow from current_date) = 3 and
       extract(day from current_date) between 8 and 14;

输出(今天 2018 年 9 月 7 日)

false

另一个演示它工作的例子:

select extract(dow from timestamp '2018-09-12') = 3 and
       extract(day from timestamp '2018-09-12') between 8 and 14;

输出

true

【讨论】:

    【解决方案2】:

    提取星期数和月日数,然后与 3 比较,因为每个星期三将是 3 和第二个星期三,月日将大于 8 且小于 13,然后用例何时

    select case when extract(dow from  now())=3 and
      EXTRACT(DAY FROM  now())>7 and EXTRACT(DAY FROM  now())<=13
      then 'it is 2nd wednesday' else 'not';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2021-12-04
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      相关资源
      最近更新 更多