当您创建表的时候,必须指定表记录行的每一列的数据类型,数据类型定义了该列存储数据的合法格式。比如说一个 DATE 类型的列,能存储值“2020-02-20”,但是不能存储值为 2 的数字或者字符串“hello”。
有关 SQL 数据类型的详细描述,请参考《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) | 最大长度为 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 字节。 |