oracle转mysql中的一些注意点(后面会继续添加)

Oracle                          MySQL                       
一,日期转换
to_date()                     date_format或者str_to_date


二,函数转换
//判断是否为空,如果是null,返回exp3,否则返回exp2
nvl(exp1,exp2)/nvl2(exp1,exp2,exp3)        IF(exp1 is null,exp3,exp2)/ifnull(exp1,exp2)




三,语法转换
//关于rownum 
rownum 是oracle中特有的,在mysql中需要替换成limit a,b.而且,需要注意的是,在mysql中select 一个表时,这个表后面要加别名,不然会报错
还有一注意点,在转换rownum<=1时,即取第一条记录时,需要嵌套查询,否则结果不正确,如下:
oracle中的原语句:select count(1) from TB_TTP_WEB_ROLE t WHERE t.m_id=#m_id# and rownum<=1;
mysql中修改后的语句如下:
SELECT COUNT(1) FROM (SELECT * FROM TB_TTP_WEB_ROLE t WHERE t.m_id=#m_id# LIMIT 0,1) tt


//关于转义字符
在oracle 中,使用的是'\',而在mysql中,使用的是'/'


//关于模糊查询的字符串拼接
oracle中是这样的
T.USERNAME LIKE '%' || REPLACE(REPLACE('aa','%', '\%'), '_', '\_') || '%'  ESCAPE '\'


mysql是这样的
T.USERNAME LIKE CONCAT('%',REPLACE(REPLACE('aa','%', '/%'), '_', '/_'),'%')  ESCAPE '/'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值