Oracle/Mysql/SqlServer函数区别
文章分类:数据库
Sql代码
1.类型转换
–Oracle
select to_number(’123′) from dual;–123;
select to_char(33) from dual;–33;
select to_date(’2004-11-27′,’yyyy/mm/dd’) from dual;–2004-11-27
–Mysql
select cast(’123′ as signed integer);–123
select cast(33 as char(2));–33;
select to_days(’2000-01-01′);–730485
–SqlServer
select cast(’123′ as decimal(30,2));–123.00
select cast(33 as char(2));–33;
select convert(varchar(12) , getdate(), 120)
2.四舍五入函数区别
–Oracle
select round(12.86*10)/10 from dual; –12.9
–Mysql
select format(12.89,1);–12.9
–SqlServer
select round(12.89,1);–12.9
3.日期时间函数
–Oracle
select sysdate from dual;–日期时间
–Mysql
select sysdate();–日期时间
select current_date();–日期
–SqlServer
select getdate();–日期时间
select datediff(day,’2010-01-01′,cast(getdate() as varchar(10)));–日期相差天数
4.Decode函数
–Oracle
select decode(sign(12),1,1,0,0,-1) from dual;–1
–Mysql/SqlServer
select case when sign(12)=1 then 1 when sign(12)=0 then 0 else -1 end;–1
5.判空函数
–Oracle
select nvl(1,0) from dual;–1
–Mysql
select ifnull(1,0);–1
–SqlServer
select isnull(1,0);–1
6.字符串连接函数
–Oracle
select ’1′||’2′ from dual;–12
select concat(’1′,’2′);–12
–Mysql
select concat(’1′,’2′);–12
–SqlServer
select ’1′+’2′;–12
7.记录限制函数
–Oracle
select 1 from dual where rownum <