728x90
반응형
이번시간은 날짜의 특정부분(년, 월, 일, 시, 분, 초)만 가져오는 함수를 알아보자
이때 사용하는 함수는 DATEPART이다.
<문법>
SELECT DATEPART(날짜형식, 날짜)
ex) SELECT DATEPART(YY, GETDATE())
DATEPART 함수에 2번째 인자로 DATETIME 타입의 데이터를 넣고
1번째 인자로 원하는 형식을 찾아서 넣으면 된다.
기본적인 형식은 아래와 같다.
SQL | 결과 |
SELECT GETDATE() AS 현재 | 2020-03-10 16:03:23.670 |
SELECT DATEPART(YY, GETDATE()) AS 년 | 2020 |
SELECT DATEPART(MM, GETDATE()) AS 월 | 3 |
SELECT DATEPART(DD, GETDATE()) AS 일 | 10 |
SELECT DATEPART(DW, GETDATE()) AS 요일 | 3 |
SELECT DATEPART(HH, GETDATE()) AS 시 | 16 |
SELECT DATEPART(MI, GETDATE()) AS 분 | 3 |
SELECT DATEPART(SS, GETDATE()) AS 초 | 23 |
SELECT DATEPART(MS, GETDATE()) AS 밀리초 | 670 |
잠깐 그런데 요일은 숫자 3으로 나온다. 이것은 요일을 숫자로 표현한것인다.
일(1), 월(2), 화(3), 수(4), 목(5), 금(6), 토(7) 이렇게 대응된다.
일일이 요일을 바꿔주기 어렵기때문에 DATEPART 대신 DATENAME을 사용하면 요일을 바로 알 수 있다.
SQL | 결과 |
SELECT DATENAME(DW, GETDATE()) AS 요일 | Tuesday |
설정에 따라서 화요일이라고 나오기도 하고 Tuesday라고 영어로 나오기도 한다.
그 외에 생각보다 유용한 날짜형식도 있으니 아래를 참고하자
SQL | 결과 |
SELECT DATEPART(DY, GETDATE()) AS 연초부터의일수 | 70 |
SELECT DATEPART(QQ, GETDATE()) AS 사분기 | 1 |
SELECT DATEPART(WK, GETDATE()) AS 주 | 11 |
728x90
반응형
'MS-SQL SQL Server' 카테고리의 다른 글
MSSQL 날짜 차이 구하기 ( DATEDIFF ) (0) | 2020.03.10 |
---|---|
MSSQL 문자열 자르기( LEFT, RIGHT ) (0) | 2020.03.10 |
MSSQL 문자열 자르기( SUBSTRING ) (0) | 2020.03.10 |
MSSQL 문자열 길이( LEN() ) (0) | 2020.03.10 |
MSSQL 특정문자 위치 찾기( CHARINDEX() ) (0) | 2020.03.10 |