本文为您介绍 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  | -  |