在postgresql列出日期

smdnsysy  于 2023-01-08  发布在  PostgreSQL
关注(0)|答案(1)|浏览(122)
and date(p.date_of_sale) <= current_date

我试了这个密码得到了这样的答案。



但错误显示为这样。


.
请看2张截图,因为我英语不流利,不知道怎么用文字解释,所以我加了2张截图。

raogr8fs

raogr8fs1#

您的问题来自to_char(p.date_of_sale, 'yyyy "-week" iw'),其中
iw = ISO 8601周编号年份的周数(01-53;一年的第一个星期四在第1周)
yyyy = 4位数的年份(不是ISO 8601年份)
这两个参数有时不一致,例如2023年1月1日:

SELECT to_char('20230101' :: date, 'yyyy') => 2023
SELECT to_char('20230101' :: date, 'iw') => 52

如果要保持一致,您可以:

select to_char('20230101' :: date, 'YYYY"-week" w') => 2023-week 1

select to_char('20230101' :: date, 'IYYY"-week" iw') => 2022-week 52 (ISO8601 year and week)

参见dbfiddle

相关问题