时间间隔表达式(Interval Expression)生成 INTERVAL YEAR TO MONTHINTERVAL DAY TO SECOND 数据类型的值。

    语法如下:

    1. INTERVAL string
    2. { DAY [ (leading_field_precision) ] TO
    3. SECOND [ (fractional_second_precision) ]
    4. | YEAR [ (leading_field_precision) ] TO
    5. MONTH
    6. }

    leading_field_precisionfractional_second_precision 可以是 0 到 9 的任意整数,这两个参数指定了对应元素值的精确度。如果在指定 DAYYEAR 元素时省略了 leading_field_precision 参数,其使用默认值为 2,表示该元素的值不能超过 2 位整数。如果对 SECOND 元素省略了 fractional_second_ precision 参数,其默认值为 6,表示该值精确到小数点第 6 位。如果查询的返回值比默认精度位数更多,OceanBase 数据库会返回一个错误。

    例如,下面的语句展示了一个 DAY TO SECOND 类型的 INTERVAL 值。

    1. obclient> SELECT INTERVAL '999999999 23:59:59.999' day(9) to second FROM DUAL;
    2. +-----------------------------------------------+
    3. | INTERVAL'99999999923:59:59.999'DAY(9)TOSECOND |
    4. +-----------------------------------------------+
    5. | +999999999 23:59:59.999000 |
    6. +-----------------------------------------------+
    7. 1 row in set (0.00 sec)