每种间隔字面量都包含一个前导字段和一个可选的尾随字段。前导字段定义了要测量的日期或时间的基本单位,尾随字段定义了所考虑的基本单位的最小增量。例如,DAY TO MINUTE 用来指定最小单位到月份的间隔字面量,其中前导字段是 ,尾随字段是 MINUTE。尾随字段是可选的,在指定间隔字面量时可以省去。

    在间隔字面量中有以下字段:YEARMONTHDAYHOURMINUTESECOND。它们的权重从 YEAR 开始按顺序递减。当需要指定尾随字段时,字面量中尾随字段的权重一定要低于前导字段,否则是无效的指定。例如,INTERVAL '1-2' DAY TO YEAR 是个无效的字面量。

    前导字段值的位数范围为 0~9,默认值为 2。 字段指定了秒数,该字段最大可以精确到小数点后 9 位,最小是小数点 0 位,默认值精度是小数点 6 位。字段的值超出指定的范围后,数据库会返回错误。SECOND 字段的小数位数如果超出指定精度,会四舍五入到符合指定精度的值。

    INTERVAL YEAR TO MONTH 字面量用来指定以年和月为单位的一段时间。

    以下是一些 INTERVAL YEAR TO MONTH 字面量的示例:

    可以在一个 INTERVAL YEAR TO MONTH 字面量之间添加或减去另一个 INTERVAL YEAR TO MONTH 字面量。例如:INTERVAL '6-2' YEAR TO MONTH + INTERVAL'21' MONTH = INTERVAL '7-11' YEAR TO MONTH

    字面量用来指定以天和具体时间为单位的一段时间。

    以下是一些 INTERVAL DAY TO SECOND 字面量的示例:

    示例

    说明

    INTERVAL ‘4 5:12:10.222’ DAY TO SECOND(3)

    表示间隔 4 天 5 小时 12 分钟 10.222 秒。

    SECOND 字段小数点默认精度是 6,这里如果不手动指定精度为 3,返回的结果中会用 0 补齐位数。

    INTERVAL ‘4 5:12’ DAY TO MINUTE

    表示间隔 4 天 5 小时 12 分钟

    INTERVAL ‘400 5’ DAY(3) TO HOUR

    表示间隔 400 天 5 小时。前导字段 DAY 超出默认精度 2 位,这里手动指定精度为 3。

    INTERVAL ‘400’ DAY(3)

    表示间隔 400 天。

    INTERVAL ‘11:12:10.2222222’ HOUR TO SECOND(7)

    表示间隔 11 小时 12 分钟 10.2222222 秒。

    SECOND 字段的值超出默认精度 6 位,这里手动指定了和值相符的精度。

    表示间隔 11 小时 20 分钟。

    INTERVAL ‘10’ HOUR

    表示间隔 10 小时

    INTERVAL ‘10:22’ MINUTE TO SECOND

    表示间隔 10 分钟 22 秒。

    INTERVAL ‘10’ MINUTE

    表示间隔 10 分钟。

    INTERVAL ‘4’ DAY

    表示间隔 4 天。

    INTERVAL ‘25’ HOUR

    表示间隔 25 小时。

    INTERVAL ‘40’ MINUTE

    表示间隔 40 分钟。

    INTERVAL ‘120’ HOUR(3)

    表示间隔 120 小时。

    INTERVAL ‘30.12345’ SECOND(2,4)

    表示间隔 30.1235 秒。秒的小数点位数超出指定精度,所以四舍五入到小数点第 4 位。