原文链接:http://hi.baidu.com/zff_i_java/item/4f864915ca7f8441e65e06da
类型名称
Oracle
字符数据类型
变长字符数据类型
根据字符集而定的固定长度字符串
根据字符集而定的可变长度字符串
日期和时间数据类型
数字类型
数字类型
整数类型
浮点数类型
实数类型
ORACLE的数据类型
常用的数据库字段类型如下:
字段类型
CHAR
VARCHAR2
NCHAR
DATE
LONG
RAW
LONG RAW
BLOB
CLOB
NCLOB
NROWID
NUMBER(38),双精度
NUMBER(63),精度更高
注意:每个表中只能有一个LONG或LONG
二者映射关系: From
SQL Server 2000 数据类型
Oracle 数据类型
bigint
NUMBER
binary
LONG RAW NOT NULL
bit
NUMBER (1, 0)
char
VARCHAR2 (900) NOT NULL
datetime
DATE
decimal
NUMBER (255, 3) NOT NULL
float
FLOAT NOT NULL
image
LONG RAW
int
NUMBER (255, 3) NOT NULL
money
NUMBER (255, 3) NOT NULL
nchar
VARCHAR2 (2000) NOT NULL
ntext
LONG
numeric
NUMBER (255, 3) NOT NULL
nvarchar
VARCHAR2 (2000) NOT NULL
real
FLOAT NOT NULL
smallint
NUMBER (255, 3) NOT NULL
smalldatetime
DATE NOT NULL
smallmoney
NUMBER (255, 3) NOT NULL
sql_variant
LONG
sysname
CHAR(255)
text
LONG
timestamp
RAW (255)
tinyint
NUMBER (255, 3) NOT NULL
From
Oracle
Microsoft SQL Server
CHAR
建议使用 char。因为 char 类型的列使用固定的存储长度,所以,访问时比 varchar 列要快一些。
VARCHAR2
和 LONG
varchar 或 text。(如果 Oracle 列中数据值的长度为 8000 字节或更少,则使用 varchar;否则,必须使用 text。)
RAW 和
LONG RAW
varbinary 或 image。(如果 Oracle 列中数据值的长度为 8000 字节或更少,则使用 varbinary;否则,必须使用 image。)
NUMBER
如果整数在 1 和 255 之间,使用 tinyint。
如果整数在 -32768 和 32767 之间,使用 smallint。
如果整数在 -2,147,483,648 和 2,147,483,647 之间,则使用 int。
如果需要浮点类型数,使用 numeric(有精度和小数位)。
注意:不要使用 float 或 real,因为可能会产生舍入(Oracle NUMBER 和 SQL Server numeric 均不舍入)。
如果不确定,则使用 numeric;它最接近 Oracle NUMBER 数据类型。
ROWID
使用 identity 列类型。
CURRVAL, NEXTVAL
使用 identity 列类型以及 @@IDENTITY、IDENT_SEED() 和 IDENT_INCR() 函数。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22529509/viewspace-1115700/ ,如需转载,请注明出处,否则将追究法律责任。