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

    有关 SQL 数据类型的详细描述,请参考《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)

    最大长度为 2000 个字节。

    varchar2(N)

    最大长度为 32767 个字节。

    nchar(N)

    最大长度为 2000 个字节。

    nvarchar2(N)

    最大长度为 32767 个字节。

    时间类型

    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 字节。