요일정보를 확인하는 방법에 대해 알아 보겠습니다. 요일정보를 확인하는 함수는 DATENAME,DATEPART로 MSSQL내장되어있는 함수로 사용가능하며 요일값을 변환(일,월,화,수...토)해서 받고 싶을경우는 사용자 함수를 만들어서 사용하면됩니다.
1. DATENAME, DATEPART함수사용
DATENAME함수를 사용해서 날짜필드의 요일값을 확인할 수 있습니다. DATENAME(weekday, 날짜필드)문으로 실행해보면 아래와 같이 일요일,월요일...토요일 한글로 나타나는 부분을 확인 할 수 있습니다. MSSQL이 한글버전이여서 아래와 같이 나오며 영문버전은 Sunday와 영문으로 결과값을 반환합니다.
MSDN자료를 살펴보면 DATENAME(datepart,날짜형)부분에 datepart는 아래와 같은 항목을 지원하니 적절하게 필요한경우 사용하면됩니다.
DATEPART함수는 요일정보를 숫자값으로 표시합니다. DATEPART(WEEKDAY,날짜필드) 와 같이 조회하면 일요일:1,월요일:2,... 토요일:7로 값을 반환합니다.
2. 사용자 함수 사용 (요일값을 월,화,수...일로 반환)
ufnDateName이라는 사용자 함수를 만들어서 요일 한글자만 반환하는 함수를 만들어 보겠습니다. datename함수를 사용하여 날짜정보를 가져온다음 Replace문을 사용해서 요일만 반환처리 하게 합니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
CREATE FUNCTION [dbo].[ufnDateName]
(
@sourceDatetime datetime
)
RETURNS NVARCHAR(1)
AS
BEGIN
RETURN
(
select replace(datename(weekday,@sourceDatetime),'요일','')
)
END
|
[dbo].[ufnDateName](hire_date) 와 같이 사용자 함수를 호출 하면 요일값이 일,월,화,수...,토와 같이 한글자만 반환되는 부분을 확인 할 수 있습니다.
'프로그래밍 > DB' 카테고리의 다른 글
[DB] MSSQL 문자열 숫자유무 체크 (ISNUMERIC) (0) | 2023.02.22 |
---|---|
[DB] MSSQL 동의어(시노님) 사용 방법 (0) | 2023.02.18 |
[DB] MSSQL 사용자정의 함수 만들기 (0) | 2022.08.30 |
[DB] MSSQL 저장프로시저 디버그 (0) | 2022.08.23 |
[DB] MSSQL 숫자문자열 정렬 (Convert, Len함수사용) (0) | 2022.06.29 |