八、SQL语法差异及解决方案①(数据类型差异)

常见数据库管理系统
商业化的有:Oracle、MSSQLServer、DB2、SybaseSQLServer、Informix
开源的有:MYSQL、SQLite、SimpleSQL、Berkely DB、Minosse、Firebird、HSQLDB等
这些数据库产品的出现给了开发者更多的选择余地,如:
Oracle或者DB2:系统对安全性、稳定性以及售后技术支持要求非常高
MSSQLServer:系统只运行在Windows操作系统下
MYSQL:免费的
HSQLDB等嵌入式数据库系统:只是提供一个方便数据存取机制

各个数据库管理系统支持的SQL语法是存在一定差异的,在Oracle下能够成功运行的SQL迁移到DB2下可能就无法运行。

数据类型差异

整数类型:

MYSQL中整数相关的类型有:tinyint、smallint、mediumint、int、integer和bigint

MSSQLServer中整数相关的类型有:bit、int、smallint、tinyint 、bigint

Oracle中整数相关的类型有:number

DB2中整数相关的类型有:smallint、integer 、bigint

数值类型:

MYSQL中数值相关的类型有:float、double、real、decimal和numeric

MSSQLServer 中数值相关的类型有:decimal、numeric、money、smallmoney 、float 和real

Oracle中数值相关的类型有number

DB2中数值相关的类型有decimal、numeric、real和double

字符类型:

MYSQL中字符相关的类型有:char、varchar、tinytext、text、mediumtext、longtext、enum、set
MSSQLServer中字符相关的类型有char、varchar、text、nchar、nvarchar和ntext

Oracle中字符相关的类型有char、varchar2、nvarchar2、clob 和nclob

DB2中字符相关的类型有CHARACTER、VARCHAR、LONG VARCHAR、CLOB、GRAPHIC、VARGRAPHIC和LONG VARGRAPHIC

日期时间类型:

MYSQL 中日期时间相关的类型有date、time、datetime、timestamp和year

MSSQLServer 中日期时间相关的类型有datetime、smalldatetime 和timestamp

Oracle 中日期时间相关的类型有:date 和timestamp
在DB2 中日期时间相关的类型有DATE、TIME 和TIMESTAMP

二进制类型:

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

猜你喜欢

转载自blog.csdn.net/qq_41389678/article/details/112004981
今日推荐