在以下的描述中,将SQL SERVER的TRANSACT-SQL简称为T-SQL。在ORACLE中,其语法集称为PL/SQL。
<一> 数据类型的迁移
<1>、ORACLE端语法说明
在ORACLE中,分析其数据类型,大致可分为数字、字符、日期时间和特殊四大类。其中,数字类型有NUMBER;字符类型有CHAR与VARCHAR2;日期时间类型只有DATE一种;除此之外,LONG、RAW、LONG RAW、BLOB、CLOB和BFILE等数据类型都可视为特殊数据类型。
<2>、SQL SERVER端语法说明
在SQL SERVER中,参照上面对ORACLE的划分,数据类型也大致可分为数字、字符、日期时间和特殊四大类。数字类型又可分为精确数值、近似数值、整数、二进制数、货币等几类,其中,精确数值有DECIMAL[(P[, S])]与NUMERIC[(P[, S])];近似数值有FLOAT[(N)];整数有INT、SMALLINT、TINYINT;二进制数有BINARY[(N)]、VARBINARY[(N)];货币有MONEY、SMALLMONEY。字符类型有CHAR[(N)]与VARCHAR[(N)]。日期时间类型有DATETIME、SMALLDATETIME。除此之外,BIT、TIMESTAMP、TEXT和IMAGE、BINARY VARING等数据类型都可视为特殊数据类型。
<3>、从SQL SERVER向ORACLE的迁移方案
比较ORACLE与SQL SERVER在数据类型上的不同,当从SQL SERVER向ORACLE迁移时,可以做如下调整:
|
|
SQL SERVER
|
ORACLE
|
|
数字类型
|
DECIMAL[(P[, S])]
|
NUMBER[(P[, S])]
|
|
NUMERIC[(P[, S])]
|
NUMBER[(P[, S])]
|
|
FLOAT[(N)]
|
NUMBER[(N)]
|
|
INT
|
NUMBER
|
|
SMALLINT
|
NUMBER
|
|
TINYINT
|
NUMBER
|
|
MONEY
|
NUMBER[19,4]
|
|
SMALLMONEY
|
NUMBER[19,4]
|
|
字符类型
|
CHAR[(N)]
|
CHAR[(N)]
|
|
VARCHAR[(N)]
|
VARCHAR2[(N)]
|
|
日期时间类型
|
DATETIME
|
DATE
|
|
SMALLDATETIME
|
DATE
|
|
其它
|
TEXT
|
CLOB
|
|
IMAGE
|
BLOB
|
|
BIT
|
NUMBER(1)
|
方法:
公司原系统中的Money 用于金额时转换用number(14,2);用于单价时用 number(10,4)代替;
posted on 2007-11-07 10:28
datasky 阅读(295)
评论(0) 编辑 收藏 网摘 所属分类:
Sql Server 、
Oracle