oracle数据库的基本数据类型有哪些
Oracle数据库基本数据类型
Oracle数据库提供了丰富的数据类型,主要可以分为以下几大类:
1. 字符数据类型
- CHAR(n): 固定长度字符串,n为1-2000字节
- VARCHAR2(n): 可变长度字符串,n为1-4000字节(标准)或32767字节(扩展)
- NCHAR(n): 固定长度Unicode字符串,n为1-1000字符
- NVARCHAR2(n): 可变长度Unicode字符串,n为1-4000字符
- LONG: 可变长度字符数据,最多2GB(已过时,推荐使用CLOB)
- CLOB: 字符大对象,最多(4GB-1)*DB_BLOCK_SIZE
- NCLOB: Unicode CLOB
2. 数值数据类型
- NUMBER(p,s): 可变精度数字,p为精度(1-38),s为小数位数(-84到127)
- FLOAT(p): 浮点数,p为二进制精度(1-126)
- BINARY_FLOAT: 32位浮点数
- BINARY_DOUBLE: 64位浮点数
3. 日期时间数据类型
- DATE: 日期和时间,精度到秒(7字节存储)
- TIMESTAMP(p): 时间戳,p为小数秒精度(0-9),默认6
- TIMESTAMP(p) WITH TIME ZONE: 带时区的时间戳
- TIMESTAMP(p) WITH LOCAL TIME ZONE: 自动转换为数据库时区的时间戳
- INTERVAL YEAR(p) TO MONTH: 年月间隔,p为年份精度(0-9)
- INTERVAL DAY(p) TO SECOND(s): 日时间隔,p为日精度(0-9),s为秒小数精度(0-9)
4. 二进制数据类型
- RAW(n): 原始二进制数据,n为1-2000字节(标准)或32767字节(扩展)
- LONG RAW: 可变长度二进制数据,最多2GB(已过时,推荐使用BLOB)
- BLOB: 二进制大对象,最多(4GB-1)*DB_BLOCK_SIZE
- BFILE: 指向外部文件的二进制数据指针
5. 行标识符类型
- ROWID: 物理行标识符(18字符)
- UROWID(n): 通用行标识符,n为1-4000字节
6. 其他类型
- XMLType: 用于存储XML数据
- JSON: Oracle 12c及以上版本支持的原生JSON类型
- SDO_GEOMETRY: 空间数据类型
- ANYDATA: 可以包含任何类型的实例
- URI类型: 用于存储统一资源标识符
这些数据类型可以根据具体需求选择使用,Oracle还支持用户自定义数据类型(UDT)来扩展这些基本类型。