从 postgresql 中的时间戳日期中减去一天
在开始之前,让我们定义 sql 中的时间戳。
在 date/time 标题下的 postgresql 文档中,时间戳是一种以以下格式存储日期和时间的数据类型。
yyyy-mm-dd hh:mm:ss (date | time)
时间戳的存储大小为 8 个字节。它可以带或不带时区显示。
时区的最小值是公元前 4713 年,最大值是公元 294276 年。
所以现在,让我们学习如何从时间戳中减去一天。
在 postgresql 中使用 interval
关键字从时间戳日期中减去一天
要从时间戳查看日期,你可以执行以下操作。
select timestamp '2021-01-01 08:08:01'
它将显示从字符串中提取的时间戳。
你不能执行以下操作从该时间戳中扣除一天。它会抛出一个错误。
select timestamp '2021-01-01 08:08:01' - 1
输出:
error: operator does not exist: timestamp without time zone - integer
line 1: select timestamp '2021-01-01 08:08:01' - 1
为了解决这个问题,我们可以使用 interval
关键字。什么是间隔
?
interval
是时间戳的天数,换句话说,它的年龄。它不会返回日期;相反,两个特定日期之间的天数差异。
语法:
age ( timestamp ) ? interval
例子:
age(timestamp '1957-06-13') ? 62 years 6 mons 10 days
语法:
timestamp - timestamp ? interval
例子:
timestamp '2001-09-29 03:00' - timestamp '2001-07-27 12:00' ? 63 days 15:00:00
上面提供的语法取自 postgresql 文档。
使用 interval
值从提供的时间戳增加或减少天数。因此,我们可以使用下面给出的查询:
select timestamp '2021-01-01 08:08:01' - interval '1 day'
这样做会从我们的时间戳中减去一天。
你还可以使用以下内容。
select timestamp '2021-01-01 08:08:01' - interval '24 hours'
由于 24 小时与 1 天相同,因此你可以使用上面给出的任何语法。
在 postgresql 中执行日期转换以从时间戳日期中减去一天
语法:
select timestamp '2021-01-01 08:08:01'::date - 1
这将从日期中扣除一天。因为时间戳不允许减法,我们可以将其转换为日期并根据需要进行减法。
和 -
运算符在 postgresql 中使用,而不是标准的 dateadd
和 datediff
。
使用时间和日期从 postgresql 中的时间戳日期中减去一天
postgresql 中的 date
占用较少的存储空间,但不应在日历日期的情况下使用。在进行日期计算时,它甚至会考虑闰年。
在 dates
的情况下,你可以使用以下代码。
select date '2021-01-01' - interval '1 day'
使用 integer
关键字创建新日期
在 postgresql 中使用的另一个值得注意的关键字是 integer
关键字。
integer
列在 postgresql 文档中的日期/时间函数和运算符的标题下。这是一个更详细地定义事物的表格:
要使用
关键字,请继续执行以下操作:
select date '2021-01-01' integer '7'
要在时间戳的情况下使用它,请执行 casting 并在其中添加 integer
以生成所需的日期。
你不能执行 add
、multiply
、division
或任何其他带有时间戳的运算符。
请记住,date/integers
是按天数计算的,而不是按月、年或其他时间单位计算的。
许多人倾向于在 postgresql 的扩展中实现 datediff
和 dateadd
函数。在这里,如果一切都失败了,你甚至可以使用它们。
因为 postgresql7 不允许标准的 sql diff
和 add
函数,我们必须使用提供的关键字和子句。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
在一个 postgresql 查询中使用多个 with 语句
发布时间:2023/03/20 浏览次数:337 分类:postgresql
-
在本教程中,我们将学习如何使用多个 with 语句在 postgresql 中使用两个临时表执行查询。
发布时间:2023/03/20 浏览次数:185 分类:postgresql
-
本文介绍如何在 ubuntu 上找到 postgresql 数据库的配置文件。
发布时间:2023/03/20 浏览次数:409 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 sql 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
发布时间:2023/03/20 浏览次数:89 分类:postgresql
-
本文展示了如何列出 postgresql 上的活动连接。
发布时间:2023/03/20 浏览次数:966 分类:postgresql
-
在 pl/sql 中,你可能需要在 postgres 中使用循环。我们可以使用 for 和 while 语句来创建循环。
发布时间:2023/03/20 浏览次数:141 分类:postgresql
-
本文介绍如何在 postgresql 中仅使用单个查询来重命名列以及更改其类型。
发布时间:2023/03/20 浏览次数:233 分类:postgresql
-
本文介绍如何在 postgresql 中使用 select 方法连接列。
发布时间:2023/03/20 浏览次数:281 分类:postgresql
-
本文展示了如何使用 case 语句并给出了 postgresql 中的示例。