WorkaHolic/ORACLE

ORACLE -> MSSQL CONVERSION

2010. 4. 23. 17:57
반응형
/////////////디코드 수정/////////////////

DECODE(Sport,'Cricket','England','Hockey','India','Base Ball','America') AS 'Originating Country'



CASE Sport
    WHEN 'Cricket' THEN 'England'
    WHEN 'Hockey' THEN 'India'
    WHEN 'Base Ball' THEN 'America'
    ELSE NULL
END AS 'Originating Country'


///////////////////////////////////////


/////////////TO_CHAR 수정//////////////

TO_CHAR(SYSDATE, 'YYYY-MM-DD')
> CONVERT(VARCHAR(10), GETDATE(), 120)

TO_CHAR(SYSDATE, 'YYYYMMDD')
> CONVERT(VARCHAR, GETDATE(), 112)

TO_CHAR(CON_STRDATE,'YYYY')
>CONVERT(VARCHAR(4),GETDATE(),112)

TO_CHAR(CON_STRDATE,'MM')
>CONVERT(VARCHAR(2),GETDATE(),1)

TO_CHAR(CON_STRDATE,'DD')
>CONVERT(VARCHAR(2),GETDATE(),5)

TO_CHAR(CON_STRDATE,'D')
>DATEPART(W, GETDATE())


/** SYSDATE -> GETDATE()

///////////////////////////////////////



///////////TO_DATE 수정///////////////

TO_DATE('2008-01-01','YYYY-MM-DD')

CONVERT(DATETIME,'2008-01-01')




TO_DATE('20080101','YYYYMMDD')

CONVERT(DATETIME,'20080101')

//////////////////////////////////////



/////////////////날짜 - 날짜/////////////

TO_DATE('20081210','YYYYMMDD') - TO_DATE('20081110','YYYYMMDD')


DATEDIFF(DD,CONVERT(DATETIME,'20081110'),CONVERT(DATETIME,'20081210'))

/////////////////////////////////////////




//////////////// 999,999,999 포멧지정///////////////
TO_CHAR(999999999,'fm999,999,999')

REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,999999999),1),'.00','')

///////////////////////////////////////////////////


///////////////////// ROWNUM ///////////////////////////////

ROWNUM

ROW_NUMBER() OVER(ORDER BY '정렬기준 컬럼')

///////////////////////////////////////////////////////////



/////////////////// || 를 + 로 변경할것//////////////////


////////////////// NVL -> ISNULL ////////////////////////


////////////////// LENGTH -> LEN ////////////////////////

////////////////// SUBSTR -> SUBSTRING ////////////////////////

//////////////// INSERT안에 서브쿼리가 들어가있는 경우//////////////
INSERT INTO TEST(COUNT) VALUES(SELECT COUNT(*) FROM TEST)
->
DECLARE @COUNT INT;
SELECT @COUNT = COUNT(*) FROM TEST
INSERT INTO TEST(COUNT) VALUES(@COUNT)


/////////////// LPAD(RPAD) 처리 ///////////////////////////////
SELECT LPAD('31',5,'0')
-> REPLICATE('0',5 - LEN('31')) + '31'


////////////////////// CONNECT BY ////////////////////////////
WITH 사용하여 마소를 욕하며 변환

///////////////////// (+)를 이용한 JOIN /////////////////////////
무조건 표준 JOIN문을 이용해 변환 =* 사용시 호환성문제와 조인된 테이블을 참조할 수 없음

반응형