如何获得本月的第二个星期三

问题描述 投票:-1回答:2

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

谁能帮我?

sql postgresql dayofweek
2个回答
3
投票

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

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

产量(今天7月7日2018)

false

另一个证明它有效的例子:

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

产量

true

0
投票

提取周日数和月日数然后与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';
© www.soinside.com 2019 - 2024. All rights reserved.