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

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

注意

以下示例演示如何使用不带 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