1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户例如2020-12 至2022-07
SELECT EXTRACT(YEAR FROM age) * 12 + EXTRACT(MONTH FROM age) AS months_between
FROM age(TIMESTAMP '2022-07-01', TIMESTAMP '2020-12-01') AS t(age);
如果要多次执行此操作,则可以定义以下函数:
CREATE FUNCTION months_between (t_start TIMESTAMP, t_end TIMESTAMP)
RETURNS INTEGER
AS $$
SELECT
(
12 * EXTRACT('years' FROM a.i) + EXTRACT('months' FROM a.i)
)::INTEGER
FROM (
VALUES (justify_interval($2 - $1))
) AS a (i)
$$
LANGUAGE SQL
IMMUTABLE
RETURNS NULL ON NULL INPUT;
这样你就可以
SELECT months_between('2020-01-01', now());
比如你提供的日期:
SELECT months_between('2020-12-01', '2022-07-01');
评论
有用 2
墨值悬赏