当您创建表的时候,必须指定表记录行的每一列的数据类型,数据类型定义了该列存储数据的合法格式。比如说一个 DATE 类型的列,能存储值“2020-02-20”,但是不能存储值为2的数字或者字符串“hello”。

    有关 SQL 数据类型的详细描述,请参考《OceanBase SQL参考(Oracle模式)》,这里介绍一些常用的数据类型。

    分类

    类型

    备注

    数值类型

    number[(p [, s])]

    p(precision)为精度,最大值为38;s(scale)表示小数点右边的数字个数,scale 的取值范围为 [-84, 127]。

    • p 和 s 都有表示定点数。

    • s 为0表示整型。

    • p 和 s 都不指定,表示浮点数,最大精度38。

    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