当您创建表的时候,必须指定表记录行的每一列的数据类型,数据类型定义了该列存储数据的合法格式。比如说一个 DATE 类型的列,能存储值“2020-02-20”,但是不能存储值为2的数字或者字符串“hello”。
有关 SQL 数据类型的详细描述,请参考《OceanBase SQL参考(Oracle模式)》,这里介绍一些常用的数据类型。
分类 | 类型 | 备注 |
数值类型 | number[(p [, s])] | p(precision)为精度,最大值为38;s(scale)表示小数点右边的数字个数,scale 的取值范围为 [-84, 127]。
|
float[(p)] | float(p) 是 NUMBER 类型的子类型,精度是按二进制有效位数计算的,范围为 1~126,小数位数不可自定义。 | |
binary_float | 32位的浮点数,4个字节。 | |
binary_double | 64位的浮点数,8个字节。 | |
字符串类型 | char(N) |
|
varchar2(N) | | |
nchar(N) |
| |
nvarchar2(N) |
| |
时间类型 | date | YYYY-MM-DD,只包含日期。 |
timestamp | 日期时间(不考虑时区)。 | |
timestamp with timezone | 日期时间(考虑时区)。 | |
timestamp with local timezone | 日期时间(考虑时区)。 | |
interval year to month |
| |
interval day to second |
| |
RAW类型 | raw(N) | raw 二进制数据,大小位N Bytes |
大对象 | blob | 最大48M。 |
clob | 最大48M |