Oracle/My SQL/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 <= 10;

--Mysql
select 1 from dual limit 10;

--SqlServer
select top 10 1

8.       

--Oracle
select substr('12345',1,3) from dual;

--Mysql/SqlServer
select substring('12345',1,3);

8.          

--Oracle
select wm_concat(  ) from dual; --            ,  

--Mysql/SqlServer
select group_concat(  );