我有一个查询,返回2011年1月1日至12/31/2041之间的所有日期(周六和周日除外)。它工作正常,但是当我尝试将过滤器“ TRIM(TO_CHAR(dt,'DAY'))NOT IN('SATURDAY','SUNDAY')”放在WITH中时,它仅返回一行。有什么建议么?请记住,我是PostgreSQL的新手。
WITH RECURSIVE bd(dt,rn) AS
(
SELECT
TO_DATE('01/01/2011','MM/DD/YYYY') AS dt,1 AS rn
UNION
SELECT
dt + 1,rn + 1
FROM
bd
WHERE
dt BETWEEN TO_DATE('01/01/2011','MM/DD/YYYY') AND TO_DATE('12/31/2041','MM/DD/YYYY') - 1
)
SELECT
dt,rn
FROM
bd
WHERE TRIM(TO_CHAR(dt,'DAY')) NOT IN ('SATURDAY','SUNDAY')