Oracle与MySQL语法区别总结

时间函数

参考:SQL Date 函数
https://www.w3school.com.cn/sql/sql_dates.asp

Oracle与MySQL语法区别总结_第1张图片
Oracle
Oracle与MySQL语法区别总结_第2张图片
MySQL
Oracle与MySQL语法区别总结_第3张图片

别名

Mysql中group by可以使用别名,Oracle 中不可以
Oracle与MySQL语法区别总结_第4张图片

聚合函数+分组

Oracle中出现在select列表中的字段或者出现在order by后面的字段,如果不是包含在分组函数中,那么该字段必须同时在group by子句中出现。
Mysql没有此限制。

参考:sql 聚合函数和group by 联合使用
https://www.cnblogs.com/panchanggui/p/10652852.html

Oracle与MySQL语法区别总结_第5张图片

空值判断

MySQL中IFNULL函数在Oracle中可以使用NVL函数替代

MYSQL
IFNULL(v1,v2)如果v1的值不为NULL,则返回v1,否则返回v2。
NULLIF(expr1,expr2) 比较两个字符串,如果字符串expr1与expr2相等返回NULL,否则返回expr1
ORACLE
NULLIF(expression1,expression2) 如果两个表达式不相等,NULLIF返回第一个expression1的值。如果两个表达式相等,NULLIF返回空值NULL。
NVL(eExpression1,eExpression2) 如果eExpression1的计算结果为null值,则NVL()返回eExpression2。如果eExpression1的计算结果不是null值,则返回eExpression1。

NULL和空字符串

Oracle(null等同于空字符’’)
1.oracle插入空字符串默认替换成null
2.oracle查询(null和被替换的空字符)时使用 is null/is not null
3.使用聚合函数时自动忽略null值
Mysql(null不等同于空字符’’)
1.mysql插入null显示为null,插入空字符串显示空
2.null查询用 is null/is not null,空字符’‘查询用 =’’/<>’’
3.使用聚合函数时自动忽略null值

分页查询

MySQL关键字limit
Oracle:
Oracle与MySQL语法区别总结_第6张图片
①:普通分页,三层嵌套查询
②:需要有order by语句
③:只查询第一条数据时使用

模糊查询

MySQL中
concat(’%’,#{参数},’%’)
在Oracle中用
’%’||#{参数}||’%’
替代

你可能感兴趣的:(学习)