云数据库OceanBase入门教程 OceanBase 间隔表达式

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 3

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

语法如下:

INTERVAL string
{ DAY [ (leading_field_precision) ] TO
SECOND [ (fractional_second_precision) ]
| YEAR [ (leading_field_precision) ] TO
MONTH
}

leading_field_precisionfractional_second_precision可以是 0 到 9 的任意整数,这两个参数指定了对应元素值的精确度。如果在指定 DAYYEAR元素时省略了 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)