Oracle转换成为Mysql注意事项

做项目的时候发现当要将Oracle数据库转换为Mysql需要将SQL语句中二者不兼容的方面需要修改
下面列出自己总结的注意事项:
1.日期格式的转换:

OracleMysql注意事项
to_char(date,'yyyy-MM-dd hh24:mi:ss')date_format(date,'%Y-%m-%d %H-%i-%s')注意日期的格式

to_date(str,'yyyy-MM-dd hh24:mi:ss')

str_to_date(str,'%Y-%m-%d %H-%i-%s')注意日期的格式
to_char,to_numberconvert(字段名,类型)类型的转换
date + ndate_add(date,interval n day)将日期增加n天
date1-date2datediff(date1,date2)日期相减获得天数
add_months(date,n)date_add(date,interval n month)将日期增加n个月

注意日期的:

%Y:代表4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)  
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)  
%e:代表月份中的天数, 格式为(0……31) 
%H:代表小时,格式为(00……23)  
%k:代表 小时,格式为(0……23)  
%h: 代表小时,格式为(01……12)  
%I: 代表小时,格式为(01……12)  
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59) 【只有这一个代表分钟,大写的I 不代表分钟代表小时】
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)  
%T:代表 时间,格式为24 小时(hh:mm:ss) 
%S:代表 秒,格式为(00……59)  
%s:代表 秒,格式为(00……59) 
 

 2.Oracle中的decode函数可以用mysql中的case when 函数取代

例:

Oracle中:select decode(a,b,c,d) as col1 from table

mysql中:select case when a=b then c when a!=c then d end as col1 from table

3.Oracle中的行号rownum,mysql中没有这个行号需要使用用户变量来实现

4.Oracle中的substr(str,a,b)其中a=0,a=1是一样的都是从一开始的

Mysql中的substring(str,a,b)Mysql是从0开始的

5.Oracle中nvl()对应Mysql中的ifnull()

6.Oracle中可以使用“||”进行字符串的拼接Mysql中需要使用concat来拼接

7.Oracle中自增实现的方式是通过序列sequence

Mysql的实现方式则是在创建字段的时候添加一个属性auto_increament

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值