博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle变mysql,Oracle变换成为Mysql注意事项
阅读量:4964 次
发布时间:2019-06-12

本文共 1264 字,大约阅读时间需要 4 分钟。

做项目的时候发现当要将Oracle数据库转换为Mysql需要将SQL语句中二者不兼容的方面需要修改

下面列出自己总结的注意事项:

1.日期格式的转换:

Oracle

Mysql

注意事项

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_number

convert(字段名,类型)

类型的转换

date + n

date_add(date,interval n day)

将日期增加n天

date1-date2

datediff(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

转载地址:http://buhhp.baihongyu.com/

你可能感兴趣的文章
避免内存重叠memmove()性能
查看>>
【ASP.NET】从服务器端注册客户端脚本
查看>>
Infix to Postfix Expression
查看>>
SELECT LOCK IN SHARE MODE and FOR UPDATE
查看>>
Perl/Nagios – Can’t locate utils.pm in @INC
查看>>
目录导航「深入浅出ASP.NET Core系列」
查看>>
简易爬虫(爬取本地数据)
查看>>
python 进程间通信
查看>>
深拷贝 vs 浅拷贝 释放多次
查看>>
Javascript 有用参考函数
查看>>
点群的判别(三)
查看>>
GNSS 使用DFT算法 能量损耗仿真
查看>>
【转】Simulink模型架构指导
查看>>
MYSQL数据库的导出的几种方法
查看>>
SQL Server-5种常见的约束
查看>>
硬件之美
查看>>
[转载]java开发中的23种设计模式
查看>>
表格的拖拽功能
查看>>
函数的形参和实参
查看>>
文字过长 用 ... 表示 CSS实现单行、多行文本溢出显示省略号
查看>>