项目数据库由oracle修改为mysql注意事项

本文详细介绍了从Oracle数据库迁移到MySQL数据库的过程,包括初始化脚本的修改策略,以及代码中特定函数和数据类型的转换方法,如日期处理、数值转换、空值处理等,为开发者提供全面的迁移参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化脚本修改:使用工具Navicat Premium,导出指定mysql版本的文件,然后将文件导入到mysql数据库中,结束;
401088-20190222153953730-542137371.png

代码中脚本修改:
oracle->mysql
sysdate
-> now()
数据类型 clob->longtext
to_char(sysdate,'yyyy-MM-dd HH:mm:ss')
-> date_format(now(),'%Y-%m-%d %H:%i:%s')
to_date('2008-08-08 08:08:08','yyyy-MM-dd HH:mm:ss')
-> str_to_date('2008-08-08 08:08:08','yyyy-MM-dd HH:mm:ss')
trunc(sysdate)
-> date_format(now(), '%Y-%m-%d %H:%i:%s')
sysdate-1
-> date_add(now(),interval -1 day)
注:hql中无法使用date_add;可以采用数据预处理:select date_format(date_add(now(),interval -1 day),'%Y-%m-%d %H:%i:%s') from dual
to_number()
-> cast ('666' as signed) -- signed/char
注:hql中使用as后必须是java中的数据类型integer/string
nvl
-> ifnull
注:hql中可用coalesce代替
问题:hql 数据库使用oracle时使用nvl方法,切换mysql数据库后无法使用nvl,需采用coalesce
rownum
-> select (@rownum:=@rownum+1) from (select @rownum:=0) t; 例:from a,t;
注:如果后面有join,需要from t,a;
rownum=1
-> limit 1
order by create_date nulls last
-> order by isnull(create_date)
decode
CURRENT_DATE()
exists
start with
connect_by_root connect by
ORDER SIBLINGS BY

转载于:https://www.cnblogs.com/chonghaojie/p/10418756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值