读书人

Oracle函数跟mysql函数比较

发布时间: 2012-11-08 08:48:12 作者: rapoo

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

今天就说这些吧,以后有新的发现再继续补上。。。。。。
1 楼 mengqingyu 2010-01-13 字符串连接不同 mysql是concat('','') oracle是||
查找前10条 mysql是limit 10 oracle是rownum <= 10

读书人网 >Mysql

热点推荐