近期工作中有接触Oracle,发现和MySQL还是有一些语法使用上的差别,将常用的、遇到的总结如下~~~
1.oracle只能用单引号,mysql单引号,双引号都可以;
2.oracle的group by中不能使用别名,mysql可以;
3.oracle中的表名取别名时不能加as,mysql可以;
4.oracle除了可以使用concat()函数连接字符串以外,还可以使用“‖”这个符号连接,mysql只能使用concat();
5.oracle用rownum获取前n条记录,并且作为where条件的一部分:where rownum <= 10,mysql用limit获取前n条记录,不是where条件的一部分;
6.oracle的左右连接除了left join,right join等之外还可以用(+)来实现,mysql只能用left join,right join;
7.【函数相关】(前oracle,后mysql)
①nvl()对应ifnull(),nvl2()对应if(),DECODE()对应case when then else end;
②当前时间sysdate对应now();
时间转换成字符串型时间,oracle是to_char(sysdate,'YYYY-MM-DD'),mysql是date_format(now(),'%Y-%m-%d');
字符串型时间转换成时间类型,oracle是to_date(sysdate,'YYYY-MM-DD'),mysql是str_to_date(now(),'%Y-%m-%d');
③to_char(111)对应cast(111 as char(3)),to_number('111')对应cast('111' as SIGNED INT)