본문 바로가기
프로그래밍/DB

[MSSQL]DATEDIFF, DATEADD 날짜 비교

by imfireguy 2021. 3. 15.
반응형

@caspar-camille-rubin unsplash

DATEDIFF

날짜의 차이에 대해서 계산하는 함수입니다.  

아래의 형식처럼 사용합니다.

 

1
SELECT DATEDIFF(datepart약어, 시작날짜, 종료날짜)
cs

 

  datapart 이름 datepart 약어
년도 year yy, yyyy
분기 quarter qq, q
month mm. m
년의일(day로계산) dayofyear dy, y
day dd, d
week wk, ww
시간 hour hh
minute mi, n
second ss, s
밀리초 millisecond ms
마이크로초 microsecond mcs
나노초 nanosecond ns

 

1. 두 날짜의 차이 일 수  

 

1
SELECT DATEDIFF(D, '2021-01-13''2021-03-15') AS '일 수 차이'
cs

 

▼ 결과 데이터

 

 

2. 두 날짜 비교 

1
2
3
4
5
6
DECLARE @Date DATETIME = '2021-03-15'
 
IF DATEDIFF(D, @Date, '2021-03-13'> 0
    SELECT '2021-03-13 미만 (미포함)' as 미포함
ELSE IF DATEDIFF(d, @Date, '2021-03-13'<= 0
    SELECT '2021-03-13 이후 (포함)' as 포함
cs

 

▼ 결과 데이터

 

 

DATEADD

특정 날짜숫자 값을 가지고 계산하는 함수입니다.

1
SELECT DATEADD(datepart약어, 값, 날짜)
cs

 

1. 5일 후 

 

1
SELECT DATEADD(D, 5'2021-03-13') AS '5일후'
cs

 

▼ 결과 데이터

 

 

2. 5달 후

 

1
SELECT DATEADD(MONTH, 5'2021-01-11') AS '5달후'
cs

 

▼ 결과 데이터

 

 

3. 현재부터 5년 후 

 

1
SELECT DATEADD(YEAR, 5, GETDATE()) AS '현재부터 5년 후'
cs

 

▼ 결과 데이터

 

 

4. 2021년 3월의 마지막 날 

 

1
SELECT DATEADD(DAY, -1, DATEADD(MONTH, 1'2021-03-01')) AS '2021년 3월 마지막일'
cs

 

▼ 결과 데이터

 

반응형

댓글