插件窝 干货文章 oracle数据库的基本数据类型有哪些

oracle数据库的基本数据类型有哪些

类型 数据 精度 二进制 173    来源:    2025-03-28

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)来扩展这些基本类型。