1.最直观的区别:从经济上来说,SQL Server 和Oracle 是收费的(商用),MySQL是开源的(轻量级数据库)。
2.简单说说使用上的区别:
1)Oracle和MySQL是跨平台的,SQL Server 只能在Windows平台上使用。
2) Oracle支持decode函数,另外两个不支持。
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
3) 分页查询(注意排序):
Oracle:关键字ROWNUM,嵌套查询
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN BETWEEN 11[该页的起始行] AND 20 [该页的终止行]
SQLServer:关键字TOP
SELECT TOP 10[页大小] *
FROM user_info
WHERE username NOT IN(SELECT top 10[页大小*页数] username FROM user_info)
返回从第11行开始的最多10行数据
MySQL:关键字limit
Select * from tablename limit m,n
即为选择从m+1开始最多n行数据
Eg.select * from table limit 10,10
返回11到20行数据
4)MySQL和SQL Server有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。Oracle中需要创建sequence 然后为表设置触发器。
详见https://blog.csdn.net/chinajash/article/details/1430030
5)获取当前时间
Oracle:SYSDATE返回当前日期时间
SQLServer:getdate()返回当前日期时间
MySQL :NOW()返回当前日期时间 ,CURDATE()返回当前日期,CURTIME()返回当前时间
暂且列这些,边用边发现吧,目前主要用Oracle。