迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > PostgreSQL >

PostgreSQL DATEDIFF 函数

作者:迹忆客 最近更新:2023/03/20 浏览次数:

与 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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PSQL 中运行 SQL 文件

发布时间:2023/03/20 浏览次数:178 分类:数据库

本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。

在 PostgreSQL 中使用循环

发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL

在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便