oracle到mysql转换的问题总结

oracle到mysql转换的问题总结

ID:35294816

大小:187.50 KB

页数:44页

时间:2019-03-23

oracle到mysql转换的问题总结_第1页
oracle到mysql转换的问题总结_第2页
oracle到mysql转换的问题总结_第3页
oracle到mysql转换的问题总结_第4页
oracle到mysql转换的问题总结_第5页
资源描述:

《oracle到mysql转换的问题总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Oracle到mysql转换的问题总结常用字段类型区别oraclemysqlnumber(10,0)intnumber(10,2)decimal(10,2)varchar2varchardatedatetimeColbtext个别语句写法区别1.oracle里只可以用单引号包起字符串,mysql里可以用双引号和单引号。2.mysql在select*from()....,from后面是一个结果集时,括号后面必须加上别名。3.mysql在delete数据时不能给表加别名,如:deletefromtabl

2、e1Twhere....,会报错,但是可以这样写:deleteTfromtable1Twhere....。4.Mysql不支持在同一个表中先查这个表在更新这个表,举个例子说明一下,insertintotable1values(字段1,(select字段2fromtable1where...)),但是可以在后面那个table1加上别名就没有问题了。insertintotable1values(字段1,(selectT.字段2fromtable1Twhere...))5.MYSQL有自动增长的数据类型,

3、插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。也可以自定义函数实现oracle的nextval。6.翻页的sql语句处理,MYSQL处理翻页的SQL语句比较简单,用LIMIT开始位置,记录个数,例如:select*fromtablelimitm,n,意思是从m+1开始取n条。常见的函数替换1.日期转换方面的函数oraclemysql说明to_char(date,’yyyy-MM-ddhh24:m

4、i:ss’)date_format(date,'%Y-%m-%d%H:%i:%s')注意时间格式的对应to_date(str,’yyyy-MM-ddhh24:mi:ss’)str_to_date(str,'%Y-%m-%d%H:%i:%s')注意时间格式to_date(str,’yyyy-MM-ddhh24:mi:ss’)str_to_date(str,'%Y-%m-%d%T')注意时间格式to_char()、to_number()convert(字段名,类型)类型转换date+ndate_add(

5、date,intervalnday)日期增加n天selectdate_add(sysdate(),INTERVAL2DAY);add_months(date,n)date_add(date,intervalnmonth)日期增加n个月selectdate_add(sysdate(),INTERVAL2MONTH);date1-date2datediff(date1,date2)日期相减获取天数2.oracle中decode()函数,可以用casewhen进行替换例子:Oracle:selectdec

6、ode(a,b,c,d)ascol1fromtable1;Mysql:selectcasewhena=bthencwhena!=bthendendascol1fromtable13.oracle的函数ROW_NUMBER()OVER(PARTITIONBYcol1ORDERBYcol2),根据col1分组,在分组内根据col2排序,改函数计算的值就表示每组内部排序后的顺序编号。Mysql没有这个函数,可以用mysql的用户变量来实现例子:Oracle:selectrow_number()over(p

7、artitionbycol1orderbycol2)asnumfromtable1Mysql:selectnum1asnumfrom(selectif(@pdept=col1,@rank:=@rank+1,@rank:=1)asnum1,@pdept:=col1fromtable1orderbycol2)H这里用到mysql的用户变量。4.oracle的行号ROWNUM,mysql没有这个行号,也需要用用户变量来实现。例子:Oracle:select*fromtable1whererownum-co

8、l1=0Mysql:select*fromtable1,(SELECT(@rowNum:=0))HHwhere(@rowNum:=@rowNum+1)-col1=05.Oracle中的substr(hello,a,b)mysql中是substring(hello,a,b)oracle的a=0和a=1是一样的,都是从第一个开始。Mysql是从0开始。6.Oracle的nvl()对应mysql的ifnull()。5.Oracle中的WMSYS.WM_CONCAT(),列转

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。