之所以写这篇文章,是这样接下来要把已经做好的一个项目迁移到oracle数据库的环境中去,老大的意思是,尽量只修改dao层的配置文件,不去修改java代码。所以最近也总结了一些可能需要自己去修改的一些点。好了言归正传,总体来说区别主要体现在一些函数上,基本上sql语法都是一样的。以下是我自己用到的,简单的总结了一下
| mysql | oracle |
分页 | limit | rownum |
replace into | replace into |
|
TIMESTAMP | TIMESTAMP() | TO_TIMESTAMP() |
SYSDATE | SYSDATE() | SYSDATE |
now() | now() | SYSDATE |
日期转化 | DATE_FORMAT() | to_char |
STR_TO_DATE | to_date | |
ifnull | ifnull() | NVL() |
if(condition,value1,value2) | if(condition,value1,value2) | decode |
连接字符串(三个以上二者不一样) | cancat | || |
分组连接 | GROUP_CONCAT |
|
时间戳 | UNIX_TIMESTAMP |
|
以下为关键词一样,但是用法有些区别的 | ||
group by | 分组元素不一定在select中 | 分组元素必须在select中 |
order by | null 最小 | null最大 |