database

mySql, Oracle에서 msSql 함수 변환작업

우주정복☆ 2014. 6. 19. 16:23

1. DATE_FORMAT ~> CONVERT로 변환

select convert(char(10), getdate(), 120)

convert(datatype(size), 변경대상, 변경할type)

날짜 변환시 변경할 type 종류  : 

120 : yyyy-MM-dd HH:mm:ss

112 : yyyyMMdd

108 : HH:mm:ss

110 : MM-dd-yyyy

113 : dd MM yyyy HH:mm:ss:sss

이정도만 알고 있으면 큰문제는 없을것 같다. 

substring 써가면서 하면 된다.

getdate()함수는 oracle에서 now()이다.


2. DATE_ADD ~> DATEADD로 변환

select(day, +1, getdate())


3. LPAD ~> REPLICATE로 변환

select replicate('0', 2-LEN(day)) + cast( day AS VARCHAR)


4.DATEPART

select datepart(wk, getdate() )

날짜의 특징 부분을 나타낸다.

(DATEPART, DATEADD, DATEDIFF 공통)

Year : yy, yyyy

Quarter : qq, q

Month : mm, m

DayofYear : dy, y

Day : dd, d

Week : wk, ww

Weekday : dw, w

Hour : Hh

Minute : mi, n

Second : ss, s

Millisecond : Ms


5. CONCAT이 없다.

str() + ' 문자열 ' 를 이용하는 방법이 있고

대한 +'~'+ 민국 이렇게 +'문자열'+ "+"를 이용해도 된다


6. INSTR --> CHARINDEX

mysql : INSTR('문자열', '자')

mssql : CHARINDEX('자', '문자열') / 숫자에 음수가 들어가면 오류가 발생, 절대 양수변환 ABS()를 사용해서 해결