我有内部查询,它根据条件之间的日期返回指定的日期。我成功获得了结果,但在外部查询中我想检查日期是否在我提供的字符串中 ex-'Friday,Saturday'
SELECT * from
(
SELECT id, to_char(markupdate, 'Day') as dayofweek
FROM test t
WHERE t.markupdate BETWEEN 'Thu Jul 11 00:00:00 IST 2019' AND 'Sat Jul 20 00:00:00 IST 2019'
) data
WHERE data.dayofweek in ('Friday,Sunday');
最佳答案
SELECT id, to_char(markupdate, 'Day') as dayofweek
FROM test t
WHERE t.markupdate BETWEEN 'Thu Jul 11 00:00:00 IST 2019' AND 'Sat Jul 20 00:00:00 IST 2019'
AND date_part('dow', markupdate) in (5,0);
postgres 中的周日期返回值如下:
0 Sunday
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
您可以使用更标准的 SQL EXTRACT('dow' FROM markupdate)
而不是 date_part('dow', markupdate)
,但是 dow
是一个扩展,不是 SQL 标准的一部分。
关于sql - 过滤掉 PostgreSQL 中指定星期几的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57089771/