如何获得本月的第二个星期三
How to get second Wednesday of the month
我需要知道 current_date 是否是 PostgreSQL 每月的第二个星期三。
谁能帮帮我?
您可以使用 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
提取周天数和月天数,然后与 3 进行比较,因为每个星期三天数为 3,第二个星期三月天数将大于 8 且小于 13,然后用例 when
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';
我需要知道 current_date 是否是 PostgreSQL 每月的第二个星期三。
谁能帮帮我?
您可以使用 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
提取周天数和月天数,然后与 3 进行比较,因为每个星期三天数为 3,第二个星期三月天数将大于 8 且小于 13,然后用例 when
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';