개발새발🐶/DataBase
[MSSQL] DATE 함수(DATEPART/DATEADD/DATEDIFF)
이 감자
2021. 8. 22. 23:16

DATEPART
기준이 되는 날짜(DATE)에서 입력한 DATEPART를 정수로 반환하는 함수.
DATEPART(DATEPART, DATE);
| DATEPART 종류 | 약어 |
| year(년) | yy, yyyy |
| quarter(분기) | qq, q |
| month(월) | mm, m |
| dayofyear(1년 기준으로 몇 번째 일인지) | dy, y |
| day(일) | dd, d |
| week(주) | wk, ww |
| weekday(요일, 1 ~ 7로 표기) | dw, w |
| hour(시간) | hh |
| minute(분) | mi, n |
| second(초) | ss, s |
| millisecond(밀리 초) | ms |
| microsecond(마이크로 초) | mcs |
| nanosecond(나노 초) | ns |
[사용 예]
SELECT DATEPART(YEAR, '2021-08-22 23:08:23.013');
-- RESULT : 2021
SELECT DATEPART(SS, '2021-08-22 23:08:23.013');
-- RESULT : 23
DATEADD
기준이 되는 날짜(DATE)에서 선택한 DATEPART에 NUMBER를 더하거나 빼는 날짜 연산 함수.
(DATEPART는 DATEPART 함수에 들어가는 것과 동일)
DATEADD(DATEPART, NUMBER, DATE);
[사용 예]
SELECT DATEADD(DD, 5, '2021-08-22 00:00:00.000');
-- RESULT : 2021-08-27 00:00:00.000
SELECT DATEADD(YEAR, -2, '2021-08-22 00:00:00.000');
-- RESULT : 2019-08-22 00:00:00.000
DATEDIFF
시작 날짜와 종료 날짜 간의 DATEPART 차이를 구하는 함수.
(DATEPART는 DATEPART 함수에 들어가는 것과 동일)
DATEDIFF(DATEPART, STARTDATE, ENDDATE);
[사용 예]
SELECT DATEDIFF(YEAR, '2020-08-22 23:12:53.074', '2021-08-22 23:12:53.074');
-- RESULT : 1
SELECT DATEDIFF(DD, '2020-08-22 23:12:53.074', '2021-08-22 23:12:53.074');
-- RESULT : 365