mysql与oracle数据的语法有什么不同之处
小编给大家分享一下mysql与oracle数据的语法有什么不同之处,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨方法吧!
mysql与oracle语法区别:
1、在MySQL中from 后的表如果是(select.......)这种,那么后面必须有别名
2、连接字符串在Oracle中用|| ,MySQL中用concat('a','b','c')
3、mysql没有像orcale的动态游标,只有显示游标
DELIMITER$$DROPPROCEDUREIFEXISTS`test`.`liyukun`$$CREATEDEFINER=`ids`@`localhost`PROCEDURE`liyukun`(outzint)BEGINdeclarecount1int;DECLAREdoneINTDEFAULT0;declarev_haomavarchar(50);declarev_yingyetingvarchar(100);DECLAREcur1CURSORFORselecthaoma,yingyetingfromeryuewhereid<2;DECLARECONTINUEHANDLERFORNOTFOUNDSETdone=1;//这里和oracle有区别,Oracle的PL/SQL的指针有个隐性变量%notfound,Mysql是通过一个Errorhandler的声明来进行判断的OPENcur1;cur1:LOOPFETCHcur1INTOv_haoma,v_yingyeting;IFdone=1THEN//如果没有数据了,则离开LEAVEcur1;ELSEselectcount(*)intocount1fromyear2012wherehaoma=v_haoma;if(count1=0)theninsertintoyear2012(haoma,yingyeting)values(v_haoma,v_yingyeting);elsesetz=z+1;updateyear2012seteryue=‘100’wherehaoma=v_haoma;endif;ENDIF;ENDLOOPcur1;CLOSEcur1;END$$DELIMITER;
4、orcale用decode()来转换数据,mysql用case when:
SELECTsql中casewhenTitle,sql中casewhen'PriceRange'=sql中casewhenCASEsql中casewhenWHENpriceISNULLTHEN'Unpriced'sql中casewhenWHENprice<10THEN'Bargain'sql中casewhenWHENpriceBETWEEN10and20THEN'Average'sql中casewhenELSE'Gifttoimpressrelatives'sql中casewhenEND(必须有end)
5、Orcale中没有TOP,是通过
select*from(select*fromAorderbyiddesc)whererownum=1
注:不能直接写 select * from A where rownum=1 order by id desc 因为语句执行的顺序是先where再order by ,如果这样写就无法按id的排序来取第一个了。
不能写rownum=2或rownum>1这样,因为Orcale 默认必须包含第一条。
如果非要取第二条的话,可以写成:
select*from(selectid,rownumasrow_numfromlws_q_bl_resultrwherer.sample_id='B10226072')whererow_num=2
mysql:
limit是mysql的语法
select*fromtablelimitm,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select*fromtablenamelimit2,4
即取出第3条至第6条,4条记录
6、Orcale,MySql while循环比较
Orcale:
whilenum<10loopstr:=to_char(num);num:=num+1;endloop;
mysql:
whilenum<10dostr:=to_char(num);num:=num+1;endwhile;
7、orcale 生成唯一序列是 select sys.guid() from dual ,mysql是 select uuid() from dual
看完了这篇文章,相信你对mysql与oracle数据的语法有什么不同之处有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。