日期 LastDay
来自 PostgreSQL wiki
跳转到导航跳转到搜索由 Scott Bailey 'Artacus' 编写
在处理日期时,我们通常需要获取月份的第一天或最后一天。获取第一天很容易,可以使用 date_trunc 函数。
SELECT date_trunc('MONTH', dtCol)::date;
但获取最后一天并不那么直观。来自 Oracle 的用户会认识这个函数。
CREATE OR REPLACE FUNCTION last_day(date)
RETURNS date AS
$$
SELECT (date_trunc('MONTH', $1) + INTERVAL '1 MONTH - 1 day')::date;
$$ LANGUAGE 'sql' IMMUTABLE STRICT;
注意
此代码片段借鉴了 Chronos 时间扩展 项目。Chronos 是一个用于在 Postgres 和 Oracle 中处理时间数据的完整工具包。我会在这里发布一些更通用的函数。(因为我是作者,我想这样是可以的。)