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

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

    分类

    类型

    备注

    数值类型

    number[(p [, s])]

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

    • 和 都有表示定点数。
    • 0表示整型。
    • 和 都不指定,表示浮点数,最大精度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