没有约束的列修改类型

本文为您介绍 Oracle 数据库和 OceanBase 数据库 Oracle 租户对于修改没有约束的列的字段类型的不兼容场景。

说明
  • 本文表格中,OceanBase 数据库 Oracle 租户允许执行修改一列是经过类型映射后的结果。

  • 本文表格中,短横线(-)表示没有、all 表示全部类型。

如果列中包含下表中的字段类型,通过 ALTER TABLE table_name MODIFY DDL 对该列进行字段类型修改操作,Oracle 数据库和 OceanBase 数据库 Oracle 租户的区别如下。

Oracle 数据库的字段类型

支持修改除自身外的目标类型

OceanBase 数据库 Oracle 租户的字段类型

支持修改除自身外的目标类型

INTEGER

除 BLOB\CLOB\NCLOB

NUMBER(38,0)

-

INT

除 BLOB\CLOB\NCLOB

NUMBER(38,0)

-

SMALLINT

除 BLOB\CLOB\NCLOB

NUMBER(38,0)

-

BINARY_FLOAT

除 BLOB\CLOB\NCLOB

BINARY_FLOAT

-

BINARY_DOUBLE

除 BLOB\CLOB\NCLOB

BINARY_DOUBLE

-

DECIMAL

除 BLOB\CLOB\NCLOB

NUMBER

-

DEC

除 BLOB\CLOB\NCLOB

NUMBER

-

NUMERIC

除 BLOB\CLOB\NCLOB

NUMBER

-

REAL

除 BLOB\CLOB\NCLOB

NUMBER

-

FLOAT

除 BLOB\CLOB\NCLOB

FLOAT

-

NUMBER

除 BLOB\CLOB\NCLOB

NUMBER

-

NCHAR

除 BLOB\CLOB\NCLOB

NCHAR

-

CHAR

除 BLOB\CLOB\NCLOB

CHAR

-

CHARACTER

除 BLOB\CLOB\NCLOB

CHAR

-

NVARCHAR2

除 BLOB\CLOB\NCLOB

NVARCHAR2

-

VARCHAR2

除 BLOB\CLOB\NCLOB

VARCHAR2

-

VARCHAR

除 BLOB\CLOB\NCLOB

VARCHAR2

-

RAW

除 BLOB\CLOB\NCLOB

RAW

-

LONG

除 BLOB\CLOB\NCLOB

CLOB

-

LONG RAW

除 BLOB\CLOB\NCLOB

BLOB

-

ROWID

除 BLOB\CLOB\NCLOB

ROWID

UROWID

UROWID

除 BLOB\CLOB\NCLOB

UROWID

ROWID

TIMESTAMP

除 BLOB\CLOB\NCLOB

TIMESTAMP

-

TIMESTAMP WITH TIME ZONE

除 BLOB\CLOB\NCLOB

TIMESTAMP WITH TIME ZONE

-

TIMESTAMP WITH LOCAL TIME ZONE

除 BLOB\CLOB\NCLOB

TIMESTAMP WITH LOCAL TIME ZONE

-

DATE

除 BLOB\CLOB\NCLOB

DATE

-

INTERVAL YEAR TO MONTH

除 BLOB\CLOB\NCLOB

INTERVAL YEAR TO MONTH

-

INTERVAL DAY TO SECOND

除 BLOB\CLOB\NCLOB

INTERVAL DAY TO SECOND

-

BLOB

-

BLOB

-

CLOB

-

CLOB

-

NCLOB

-

CLOB

-