OceanBase 间隔表达式
时间间隔表达式(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)