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

时间:2018-09-07 08:28:54

标签: sql postgresql dayofweek

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

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

您可以使用EXTRACT来查找星期几,并将其与星期三(星期三的第三天)进行比较,然后还可以检查该月的哪一天在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

答案 1 :(得分: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';