这两天要把一个系统从oracle上移植到mysql上,顺便简单整理一下两者语法的不同
1,decode
mysql中没有decode,可以使用case when语句代替,oracle也支持case when语句,看来以后为了移植方便还是使用case when比较好。
Sql代码
select NAME,
case name
when 'sam' then 'yong'
when 'lee' then 'handsome'
else 'good' end
from lee;
下面是同一条sql,decode与case when比较:
Sql代码
sum(decode(sign(similarity-${param1})+sign(similarity-${param2}),0,1,-1,1,0)) as sus_tort_count
sum(case sign(similarity-${param1})+sign(similarity-${param2}) when 0 then 1 when -1 then 1 else 0 End
2.分页代码:
oracle中分页代码使用rownum,具体参见:http://qingfeng825.iteye.com/blog/779462
Sql代码
----oracle排序写法
SELECT * FROM (
SELECT list.*, rownum as RNUM FROM (
SELECT * FROM CIP_Test_User
ORDER BY ID desc )
list WHERE ROWNUM < 11 ) WHERE RNUM >=1
1和11都代表行号
mysql分页使用limit
Java代码
----mysql排序写法
SELECT * FROM CIP_Test_User
ORDER BY ID desc
limit 1,10
1代表偏移量,10代表要取出来的记录个数
3.数字转字符串
mysql: concat(site_id,'')
oracle:to_char(site_id)
4.取当前日期(mysql 要加括号)
mysql:now(),sysdate() 具体参见:http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html
oracle:sysdate
行业门户()文章,希望大家可以留言建议
阅读(968) | 评论(0) | 转发(0) |