阅读(775) (18)

OceanBase 间隔表达式

2021-06-24 11:13:00 更新

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

语法如下:

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

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

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