ORACLE -> MSSQL 변환작업중 =ㅅ=;

/////////////디코드 수정/////////////////

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문을 이용해 변환 =* 사용시 호환성문제와 조인된 테이블을 참조할 수 없음



마소SQL 호환성 담당자 나랑 싸우자!!

by 다루스 | 2008/11/20 12:08 | 트랙백 | 덧글(5)

트랙백 주소 : http://Daruth.egloos.com/tb/3986598
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 이원호 at 2008/11/27 18:02
이글 내용이 좋아서 퍼갈게요.
Commented by 이병권 at 2008/12/09 18:11
내용이 좋아서 퍼갈께요~ ^^
Commented by 라울매냐 at 2009/06/22 10:48
퍼갈게요~
Commented by KH at 2009/06/30 16:22
퍼갈께요 ~
Commented by 삽지리 at 2009/07/02 10:59
퍼갈게요

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶