Live Brilliant

[MSSQL] DATE 함수 본문

개발은 핵찜이야/DATABASE

[MSSQL] DATE 함수

주인정 2012. 7. 10. 14:54

MSSQL DATE 함수

 

1. GETDATE() 현재 시스템 날짜를 리턴

> SELECT GETDATE()

결과: 2012-07-10 14:00:00.000

>SELECT GETDATE() + 30

결과: 2012-08-09 14:00.00.000

 

 

2. DateAdd() 지정된 날짜에 지정된 간격의 시간을 더한 날짜를 리턴

ex) DateAdd(interval, number, date)

>select dateadd(week,-2,getdate()) //2주전

결과: 2012-06-26 14:00:00.000

 

3. DateDiff 두날짜 사이의 간격을 리턴

ex) DateDiff(interval, date1, date2)

>select datediff(d, getdate(), '20120601')
결과: -39

>select datediff(wk, getdate(), '20120601')
결과: -6

>select datediff(m, getdate(), '20120601')

결과: -1

 

4. DatePart() 지정된 날짜에서 지정된 부분을 리턴

>select datepart(dd,getdate()) --현재일자
결과 : 10

>select datepart(wk,getdate()) -- 현재주
결과 : 28

>select datepart(mm,getdate()) -- 현재월

결과 : 7

 

5. Cast() 형변환 리턴 및 CONVERT() 문자열 변환

>select cast('20120710' as datetime)

결과: 2012-07-10 00:00:00.000

 

--이번주 토요일 구하기
select CONVERT(varchar, GETDATE() + 7 - DATEPART(dw, CONVERT(varchar, GETDATE(), 112)), 112)

결과 : 20120714

 

>select CONVERT(CHAR(8), GETDATE(), 112)

결과 : 20120710 

 

Comments