oracle(或者DM)数据库迁移到mysql数据库遇到的问题

  1. oracle中的 nulls first 、 nulls last在mysql中可以使用下面的语句代替:
  • nulls first:
    order by IF(ISNULL(a.three_count),0,1),a.three_count asc,;
  • nulls last:
    order by IF(ISNULL(a.three_count),1,0),a.three_count asc;
  • ISNULL函数字段为空返回1,不为空返回0
  • IF函数,第一个表达式为真,则返回第二个参数的值,否则,返回第三个参数的值。
  1. to_number函数
    oracle中的to_number在mysql中可以使用下面的语句代替:
    select cast(11 as unsigned int)

  2. TO_CHAR 函数
    oracle中的to_char() 在mysql中 date_format(date,’%Y-%m-%d’)

  3. to_date函数
    oracle中的to_date() 在mysql中 str_to_date(date,’%Y-%m-%d’)

  4. regexp_substr

regexp_substr(parent_ids, '[^,]+', 1, 3)   AS areaCode,
regexp_substr(parent_names, '[^,]+', 1, 2) AS areaName,
变为
SUBSTRING_INDEX(SUBSTRING_INDEX(parent_ids,',',3),',',-1) AS areaCode,
SUBSTRING_INDEX(SUBSTRING_INDEX(parent_names,',',2),',',-1) AS areaName,
-- 截取第2个,再截取最后一个(-1表示最后一个)
-- concat(substring(#{areaCode},1,2),'%') 
-- 从第一个开始截取,长度为2

  1. wm_concat 函数
    将Oracle数据库迁移至MySQL时,使用MySQL的GROUP_CONCAT()替换Oracle的wm_concat()方法,
    由于MySQL的GROUP_CONCAT()默认长度限制为1024,并不能满足项目需要,修改MySQL的my.ini将长度限制调整为102400
group_concat_max_len = 102400

遇到了再写~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值