当前位置:首页 > 问答 > 正文

数据库|类型对比 Oracle与DB2主要数据类型详细说明

数值类型

  • Oracle

    • NUMBER(p,s):可变精度数字,p为总位数,s为小数位。
    • INTEGER:等同于NUMBER(38)。
    • FLOAT(p):浮点数,精度p。
  • DB2

    • DECIMAL(p,s)/NUMERIC(p,s):固定精度数字。
    • INTEGER/BIGINT:4字节/8字节整数。
    • DOUBLE/FLOAT:双精度浮点数。

字符类型

  • Oracle

    • VARCHAR2(n):可变长度字符串(最大32767字节)。
    • CHAR(n):定长字符串(最大2000字节)。
    • CLOB:大文本数据(最大128TB)。
  • DB2

    数据库|类型对比 Oracle与DB2主要数据类型详细说明

    • VARCHAR(n):可变长度字符串(最大32672字节)。
    • CHAR(n):定长字符串(最大254字节)。
    • CLOB:大文本数据(最大2GB)。

日期时间类型

  • Oracle

    • DATE:日期+时间(精确到秒)。
    • TIMESTAMP(p):时间戳,精度p(纳秒级)。
    • INTERVAL:时间间隔。
  • DB2

    • DATE:仅日期。
    • TIME:仅时间。
    • TIMESTAMP(p):时间戳(精度p)。

二进制类型

  • Oracle

    数据库|类型对比 Oracle与DB2主要数据类型详细说明

    • BLOB:二进制大对象(最大128TB)。
    • RAW(n):原始二进制数据(最大2000字节)。
  • DB2

    • BLOB:二进制大对象(最大2GB)。
    • BINARY(n)/VARBINARY(n):固定/可变二进制数据。

特殊类型

  • Oracle

    • ROWID:行唯一标识符。
    • XMLType:XML数据存储。
  • DB2

    数据库|类型对比 Oracle与DB2主要数据类型详细说明

    • XML:原生XML存储。
    • GRAPHIC(n):双字节字符数据。

其他差异

  1. NULL处理:Oracle的VARCHAR2允许空字符串等于NULL,DB2严格区分。
  2. 精度范围:Oracle的NUMBER支持更高精度,DB2的DECIMAL需显式定义。
  3. LOB限制:DB2的LOB默认最大2GB(可通过配置扩展),Oracle支持更大存储。

(注:具体实现可能随版本更新变化,建议参考官方文档验证。)

发表评论