날짜, 시간을 연산하기 위해 DATEADD 함수를 사용합니다.
1. 날짜(년, 월, 일)
1-1. 년(YEAR)
연도 더하기
DATEADD(YEAR, 양수, 기준 연도)
연도 빼기
DATEADD(YEAR, 음수, 기준 연도)
위와 같은 형식으로 사용할 수 있고, 아래와 같이 예시를 확인할 수 있습니다.
SELECT DATEADD(YEAR, -3, '2022-06-02') AS [3년 전]
, DATEADD(YEAR, 3, '2022-06-02') AS [3년 후]
1-2. 월(MONTH)
달 더하기
DATEADD(MONTH, 양수, 기준 날짜)
달 빼기
DATEADD(MONTH, 음수, 기준 날짜)
위와 같은 형식으로 사용할 수 있고, 아래와 같이 예시를 확인할 수 있습니다.
SELECT DATEADD(MONTH, -3, '2022-05-27') AS [3개월 전]
, DATEADD(MONTH, 3, '2022-05-27') AS [3개월 후]
1-3. 일(DAY)
날짜 더하기
DATEADD(DAY, 양수, 기준 날짜)
날짜 빼기
DATEADD(DAY, 음수, 기준 날짜)
위와 같은 형식으로 사용할 수 있고, 아래와 같이 예시를 확인할 수 있습니다.
SELECT DATEADD(DAY, -3, '2022-05-27') AS [3일전]
, DATEADD(DAY, 3, '2022-05-27') AS [3일후]
2. 시간(시, 분, 초)
2-1. 시간(HOUR)
시간 더하기
DATEADD(HOUR, 양수, 기준 시간)
시간 빼기
DATEADD(HOUR, 음수, 기준 시간)
위와 같은 형식으로 사용할 수 있고, 아래와 같이 예시를 확인할 수 있습니다.
SELECT DATEADD(HOUR, -3, '2022-06-02 14:30:00') AS [3시간 전]
, DATEADD(HOUR, 3, '2022-06-02 14:30:00') AS [3시간 후]
2-2. 분(MINUTE)
분 더하기
DATEADD(MINUTE, 양수, 기준 시간)
분 빼기
DATEADD(MINUTE, 음수, 기준 시간)
위와 같은 형식으로 사용할 수 있고, 아래와 같이 예시를 확인할 수 있습니다.
SELECT DATEADD(MINUTE, -3, '2022-06-02 14:30:00') AS [3분 전]
, DATEADD(MINUTE, 3, '2022-06-02 14:30:00') AS [3분 후]
2-3. 초(SECODE)
초 더하기
DATEADD(SECOND, 양수, 기준 시간)
초 빼기
DATEADD(SECOND, 음수, 기준 시간)
위와 같은 형식으로 사용할 수 있고, 아래와 같이 예시를 확인할 수 있습니다.
SELECT DATEADD(SECOND, -3, '2022-06-02 14:30:10') AS [3초 전]
, DATEADD(SECOND, 3, '2022-06-02 14:30:10') AS [3초 후]
아래 표를 통해 더 다양한 시간 구분자들을 확인할 수 있습니다.
구분 | DATEPART | 약어 |
년 | YEAR | YY, YYYY |
월 | MONTH | MM, M |
일 | DAY | DD, D |
시 | HOUR | HH |
분 | MINUTE | MI, N |
초 | SECOND | SS, S |
밀리초 | MILLISECOND | MS |
주 | WEEK | WK, WW |
분기 | QUARTER | QQ, Q |
반응형
'DB & SQL' 카테고리의 다른 글
SQL에서의 WHERE 1=1 (2) | 2022.12.13 |
---|---|
[MSSQL] WITH(NOLOCK) - 테이블 잠금 해제 (2) | 2022.09.07 |
varchar와 nvarchar의 차이 (6) | 2022.04.29 |
테이블 수정(ALTER TABLE) (6) | 2022.04.14 |
반올림, 올림, 내림 함수(ROUND, CEILING, FLOOR) (0) | 2022.02.15 |
댓글