Oracle函数和mysql函数比较
1. Oracle中的to_number()转换成数字;
Oracle> Select to_number(‘123’) from dual; ----- 123;
select to_char(33) from dual;---- 33;
Mysql> Select conv(‘123’,10,10); ---- 123;
Select cast(‘123’ as signed integer);--- 123
Select cast(‘-123’ as signed integer);--- -123
select cast(33 as char(2) ); ------- 33;
select char(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> select floor(12.89*10)/10 from dual;--12.8
select ceil(12.82*10)/10 from dual;--12.9
select round(12.86*10)/10 from dual;--12.9
select round(12.84*10)/10 from dual;--12.8
mysql> select floor(12.89*10)/10 from dual;--12.8000
select floor(12.89) from dual;--12
select ceil(12.89*10)/10 from dual;--12.9000
select ceil(12.89) from dual;--13
select round(12.89*10)/10 from dual;--12.9000
select round(12.83*10)/10 from dual;--12.8000
select round(12.89,1) from dual;--12.9
select round(12.83,1) from dual;--12.8
select format(12.89,1)/ from dual;--12.9
select format(12.83,1)/ from dual;--12.8
3. 日期时间函数
Oracle> select sysdate from dual;--日期时间
Mysql> select sysdate() ;--日期时间
select current_date();--日期
4. Decode函数
Oracle> select decode(sign(12),1,1,0,0,-1) from dual;---1
Mysql> select case when sign(12)=1 then 1 when sign(12)=0 then 0 else -1 end;---1
Mysql中好像没有decode函数所以只能用case-when来代替了
5. nvl 函数
Oracle> select nvl(1,0) from dual ;----1
Mysql> select ifnull(1,0) ; ------1
今天就说这些吧,以后有新的发现再继续补上。。。。。。