cnzou 2009-12-31
1.Oracle中的to_number()转换成数字;
Oracle>Selectto_number(‘123’)fromdual;-----123;
selectto_char(33)fromdual;----33;
Mysql>Selectconv(‘123’,10,10);----123;
Selectcast(‘123’assignedinteger);---123
Selectcast(‘-123’assignedinteger);----123
selectcast(33aschar(2));-------33;
selectchar(33);--------------------!;(ascll)
对应的mysql函数是conv(N,from_base,to_base),在不同的数字基之间变换数字。返回数字N的字符串数字,从from_base基变换为to_base基,如果任何参数是NULL,返回NULL。参数N解释为一个整数,但是可以指定为一个整数或一个字符串。最小基是2且最大的基是36。如果to_base是一个负数,N被认为是一个有符号数,否则,N被当作无符号数。CONV以64位点精度工作。
cast中的signed表示有符号数;
2.四舍五入函数区别
Oracle>selectfloor(12.89*10)/10fromdual;--12.8
selectceil(12.82*10)/10fromdual;--12.9
selectround(12.86*10)/10fromdual;--12.9
selectround(12.84*10)/10fromdual;--12.8
mysql>selectfloor(12.89*10)/10fromdual;--12.8000
selectfloor(12.89)fromdual;--12
selectceil(12.89*10)/10fromdual;--12.9000
selectceil(12.89)fromdual;--13
selectround(12.89*10)/10fromdual;--12.9000
selectround(12.83*10)/10fromdual;--12.8000
selectround(12.89,1)fromdual;--12.9
selectround(12.83,1)fromdual;--12.8
selectformat(12.89,1)/fromdual;--12.9
selectformat(12.83,1)/fromdual;--12.8
3.日期时间函数
Oracle>selectsysdatefromdual;--日期时间
Mysql>selectsysdate();--日期时间
selectcurrent_date();--日期
4.Decode函数
Oracle>selectdecode(sign(12),1,1,0,0,-1)fromdual;---1
Mysql>selectcasewhensign(12)=1then1whensign(12)=0then0else-1end;---1
Mysql中好像没有decode函数所以只能用case-when来代替了
5.nvl函数
Oracle>selectnvl(1,0)fromdual;----1
Mysql>selectifnull(1,0);------1
今天就说这些吧,以后有新的发现再继续补上。。。。。。