如何获取当前季度的天数?
例如,如果今天是2021年1月2日,则返回2。
如果今天是2/5,则返回36。
如果今天是4/2,则返回2中。
使用date_trunc()
获取季度开始并减去日期:
WITH cte(day) AS (
VALUES
(date '2021-01-02')
, (date '2021-02-05')
, (date '2021-04-02')
)
SELECT day
, day - date_trunc('quarter', day)::date + 1 AS days_passed_in_quarter
FROM cte;
day | days_passed_in_quarter
------------+------------------------
2021-01-02 | 2
2021-02-05 | 36
2021-04-02 | 2
CCD_ 2通过一个错误修复;通过";。
始终使用明确的ISO 8601日期格式(YYYY-MM-DD
-2021-02-05
(,这是Postgres中的默认格式,始终明确,或者您依赖于当前的datestyle
设置(可能会出现意外(。也避免了一般沟通中的误解。
相关:
- PostgreSQL:介于日期时间之间