八、SQL語法差異及解決方案①(數(shù)據(jù)類型差異)

常見數(shù)據(jù)庫管理系統(tǒng)
商業(yè)化的有:Oracle、MSSQLServer、DB2、SybaseSQLServer、Informix
開源的有:MYSQL、SQLite、SimpleSQL、Berkely DB、Minosse、Firebird、HSQLDB等
這些數(shù)據(jù)庫產(chǎn)品的出現(xiàn)給了開發(fā)者更多的選擇余地,如:
Oracle或者DB2:系統(tǒng)對安全性、穩(wěn)定性以及售后技術(shù)支持要求非常高
MSSQLServer:系統(tǒng)只運(yùn)行在Windows操作系統(tǒng)下
MYSQL:免費(fèi)的
HSQLDB等嵌入式數(shù)據(jù)庫系統(tǒng):只是提供一個(gè)方便數(shù)據(jù)存取機(jī)制

各個(gè)數(shù)據(jù)庫管理系統(tǒng)支持的SQL語法是存在一定差異的,在Oracle下能夠成功運(yùn)行的SQL遷移到DB2下可能就無法運(yùn)行。

數(shù)據(jù)類型差異

整數(shù)類型:

MYSQL中整數(shù)相關(guān)的類型有:tinyint、smallint、mediumint、int、integer和bigint

MSSQLServer中整數(shù)相關(guān)的類型有:bit、int、smallint、tinyint 、bigint

Oracle中整數(shù)相關(guān)的類型有:number

DB2中整數(shù)相關(guān)的類型有:smallint、integer 、bigint

數(shù)值類型:

MYSQL中數(shù)值相關(guān)的類型有:float、double、real、decimal和numeric

MSSQLServer 中數(shù)值相關(guān)的類型有:decimal、numeric、money、smallmoney 、float 和real

Oracle中數(shù)值相關(guān)的類型有number

DB2中數(shù)值相關(guān)的類型有decimal、numeric、real和double

字符類型:

MYSQL中字符相關(guān)的類型有:char、varchar、tinytext、text、mediumtext、longtext、enum、set
MSSQLServer中字符相關(guān)的類型有char、varchar、text、nchar、nvarchar和ntext

Oracle中字符相關(guān)的類型有char、varchar2、nvarchar2、clob 和nclob

DB2中字符相關(guān)的類型有CHARACTER、VARCHAR、LONG VARCHAR、CLOB、GRAPHIC、VARGRAPHIC和LONG VARGRAPHIC

日期時(shí)間類型:

MYSQL 中日期時(shí)間相關(guān)的類型有date、time、datetime、timestamp和year

MSSQLServer 中日期時(shí)間相關(guān)的類型有datetime、smalldatetime 和timestamp

Oracle 中日期時(shí)間相關(guān)的類型有:date 和timestamp
在DB2 中日期時(shí)間相關(guān)的類型有DATE、TIME 和TIMESTAMP

二進(jìn)制類型:

MYSQL、Oracle和DB2都支持Blob類型,而在MSSQLServer中支持image類型。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容