oracle数据库常用字段类型有哪些
Oracle数据库常用字段类型
Oracle数据库提供了多种数据类型来满足不同的数据存储需求。以下是Oracle数据库中常用的字段类型分类:
字符数据类型
- CHAR(size) - 固定长度字符串,最大2000字节
- VARCHAR2(size) - 可变长度字符串,最大4000字节(标准SQL中的VARCHAR是VARCHAR2的同义词)
- NCHAR(size) - 固定长度的Unicode字符串,最大2000字节
- NVARCHAR2(size) - 可变长度的Unicode字符串,最大4000字节
- CLOB - 字符大对象,最大4GB
- NCLOB - Unicode字符大对象,最大4GB
数值数据类型
- NUMBER(p,s) - 可变精度数字,p是精度(1-38),s是小数位数(-84到127)
- FLOAT(p) - 浮点数,p是二进制精度(1-126)
- BINARY_FLOAT - 32位单精度浮点数
- BINARY_DOUBLE - 64位双精度浮点数
日期和时间数据类型
- DATE - 日期和时间(年、月、日、时、分、秒)
- TIMESTAMP(p) - 日期和时间,带小数秒精度(p=0-9)
- TIMESTAMP(p) WITH TIME ZONE - 带时区的时间戳
- TIMESTAMP(p) WITH LOCAL TIME ZONE - 存储时自动转换为数据库时区
- INTERVAL YEAR(p) TO MONTH - 年月间隔
- INTERVAL DAY(p) TO SECOND(s) - 日时间隔(可精确到秒)
二进制数据类型
- BLOB - 二进制大对象,最大4GB
- BFILE - 存储在数据库外的二进制文件,最大4GB
- RAW(size) - 原始二进制数据,最大2000字节
- LONG RAW - 原始二进制数据,最大2GB(已不推荐使用)
行标识符类型
- ROWID - 行的物理地址
- UROWID - 通用行标识符(物理或逻辑)
其他特殊类型
- XMLType - XML数据存储
- JSON - JSON数据存储(12c及以上版本)
- SDO_GEOMETRY - 空间数据类型
注意事项
- LONG和LONG RAW类型已不推荐使用,应使用LOB类型替代
- 在Oracle 12c及以上版本,VARCHAR2最大长度可扩展到32767字节(需设置MAX_STRING_SIZE=EXTENDED)
- 选择数据类型时应考虑存储需求、性能影响和功能需求
这些数据类型为Oracle数据库提供了灵活的数据存储解决方案,可以根据应用需求选择最适合的类型。