适用版本
OceanBase 数据库所有版本。
问题现象
Create table 报错。
obclient> CREATE TABLE T1(C1 TIMESTAMP(20));
ORA-30088 datetime/interval precision is out of range
ORA-30088 对应的内部错误码是 5605。
Oracle:
Oracle Error Code: ORA-30088
Message: datetime/interval precision is out of range
Related OceanBase Error Code:
OB_ERR_DATETIME_INTERVAL_PRECISION_OUT_OF_RANGE(-5605)
问题原因
创建表时 timestamp 类型的精度超出 OceanBase 数据库支持的范围,OceanBase 数据库中 timestamp 的最大精度为 9,即纳秒级,精确至小数点 9 位。
解决方法
Timestamp 字段类型的精度控制在 9 以内,或者使用其他类型,比如 varchar。