PostgreSQL DATEDIFF 函数
与 SQL Server 不同,PostgreSQL 没有内置的 DATEDIFF
函数来计算日期之间的差异。但是,可以使用包含 PostgreSQL 提供的其他函数的表达式来获得日期差异。
本文讨论了计算 PostgreSQL 中日期之间天数差异的方法。
在 PostgreSQL 中使用 EXTRACT
函数来获取日期差值
语法:
EXTRACT(field, source)
field
可以是年、月、日等。source
类型可以是时间戳、时间或间隔。
如果表的列是日期类型,则可以将其类型转换为时间戳。
可以使用 EXTRACT
函数计算天数差异,如下例所示。
SELECT EXTRACT(DAY FROM '2022-01-15 11:40:00'::timestamp - '2021-11-03 13:10:00'::timestamp)
输出:
extract
---------
72
请注意,PostgreSQL 将返回两个日期之间的完整天数,并考虑小时分钟的差异。如果小时、分钟和秒没有差异,则返回不同的结果,如下例所示。
SELECT EXTRACT(DAY FROM '2022-01-15 00:00:00'::timestamp - '2021-11-03 00:00:00'::timestamp)
输出:
extract
---------
73
上面示例中使用的日期与将日期类型字段转换为时间戳时的日期相同。
使用 DATE_PART
函数获取 PostgreSQL 中的日期差异
语法:
DATE_PART('field', source)
field
可以是年、月、日等。它必须是字符串类型。
也可以使用 DATE_PART
函数计算天数差异,如下面的命令。
SELECT DATE_PART('day', '2022-01-15 11:40:00'::timestamp - '2021-11-03 13:10:00'::timestamp);
输出:
date_part
-----------
72
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。