months_between替换postgre
时间: 2023-05-26 15:05:24 浏览: 141
Page_SQL(Sqlserver_mysql_oracle_postgre).rar_PAGE_SQL_page
在PostgreSQL中,可以使用以下查询替代Oracle的MONTHS_BETWEEN函数:
SELECT ROUND(EXTRACT(EPOCH FROM (date1 - date2)) / (30.44 * 24 * 60 * 60)) FROM table;
其中date1和date2是要比较的日期。这将返回两个日期之间的月数。请注意,这可能会产生一些舍入误差。
此外,可以创建一个等效的PostgreSQL函数:
CREATE FUNCTION months_between(date1 timestamp, date2 timestamp) RETURNS integer AS
$$
BEGIN
RETURN ROUND(EXTRACT(EPOCH FROM (date1 - date2)) / (30.44 * 24 * 60 * 60));
END;
$$
LANGUAGE plpgsql;
然后可以像这样使用它:
SELECT months_between(date1, date2) FROM table;
阅读全文