📌  相关文章
📜  postgres 获取两个日期之间的天数 (1)

📅  最后修改于: 2023-12-03 15:18:38.079000             🧑  作者: Mango

获取两个日期之间的天数(PostgreSQL)

在 PostgreSQL 中,可以使用 date_part 函数和日期间隔来计算两个日期之间的天数。具体来说,可以使用 date_part('day', end_date - start_date) 来获取这个值。

下面是一个示例函数来演示如何使用这个方法:

CREATE OR REPLACE FUNCTION days_between(start_date date, end_date date)
RETURNS integer AS $$
BEGIN
    RETURN date_part('day', end_date - start_date);
END;
$$ LANGUAGE plpgsql;

其中,start_dateend_date 参数分别表示待计算的两个日期。该函数返回一个整数值,表示这两个日期之间的天数。

这里是一些用例:

SELECT days_between('2021-01-01', '2021-12-31');  -- 返回 364
SELECT days_between('2021-02-01', '2021-02-01');  -- 返回 0
SELECT days_between('2021-03-01', '2021-02-01');  -- 返回 -28

注意,如果 end_date 早于 start_date,则结果将是负数。

除了上述方法外,还可以使用 EXTRACT 函数来提取日期的年、月、日等值,然后进行计算。但是,使用 date_part 函数更为简洁和直观。

希望这篇介绍对你有所帮助!