不带限定词语法的间隔文字示例 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

不带限定词语法的间隔文字示例

注意

以下示例演示如何使用不带 YEAR TO MONTHDAY TO SECOND 限定词的间隔文字。有关将推荐的间隔文字与限定词一起使用的信息,请参阅间隔数据类型和文字

使用间隔文本标识特定时间段(如 12 hours6 months)。您可在涉及日期时间表达式的条件和计算中使用这些间隔文本。

间隔文字用 INTERVAL 关键字与数量和支持的日期部分的组合来表示;例如 INTERVAL '7 days'INTERVAL '59 minutes'。您可以将许多数量和单位连接在一起以形成更精确的间隔;例如:INTERVAL '7 days, 3 hours, 59 minutes'。还支持每个单位的缩写和复数;例如:5 s5 second5 seconds 是等效的间隔。

如果您未指定日期部分,则间隔值表示秒。您可指定数量值作为小数(例如:0.5 days)。

以下示例显示了具有不同间隔值的一系列计算。

以下选项向指定日期添加 1 秒。

select caldate + interval '1 second' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:00:01 (1 row)

以下选项向指定日期添加 1 分钟。

select caldate + interval '1 minute' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:01:00 (1 row)

以下选项向指定日期添加 3 小时 35 分钟。

select caldate + interval '3 hours, 35 minutes' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 03:35:00 (1 row)

以下选项向指定日期添加 52 周。

select caldate + interval '52 weeks' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-12-30 00:00:00 (1 row)

以下选项向指定日期添加 1 周、1 小时、1 分钟和 1 秒:

select caldate + interval '1w, 1h, 1m, 1s' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-01-07 01:01:01 (1 row)

以下选项向指定日期添加 12 小时(半天)。

select caldate + interval '0.5 days' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 12:00:00 (1 row)

以下计算将从 2023 年 2 月 15 日减去 4 个月,结果为 2022 年 10 月 15 日。

select date '2023-02-15' - interval '4 months'; ?column? --------------------- 2022-10-15 00:00:00

以下计算将从 2023 年 3 月 31 日减去 4 个月,结果为 2022 年 11 月 30 日。计算时会考虑一个月中的天数。

select date '2023-03-31' - interval '4 months'; ?column? --------------------- 2022-11-30 00:00:00