SQL Server에서 Datepart 숫자를 요일 이름으로 변환하는 방법

SQL Server로 작업한 경험이 있다면, 날짜의 특정 부분을 추출하여 더 쉽게 이해하고 사용할 수 있는 경우를 접했을 것입니다. 흔한 요구 사항 중 하나는 datepart 함수에서 얻은 요일의 숫자 표현을 해당 요일 이름(예: “월요일” 또는 “화요일”)으로 변환하는 것입니다. 이 블로그 포스트에서는 SQL Server에서 이 변환을 신속하게 수행하는 방법을 살펴보겠습니다.

문제 이해하기

SQL Server 함수 datepart를 사용할 때, 날짜에서 요일을 가져오면 1과 7 사이의 숫자를 반환하는데, 이는 다음과 같습니다:

  • 1 = 일요일
  • 2 = 월요일
  • 3 = 화요일
  • 4 = 수요일
  • 5 = 목요일
  • 6 = 금요일
  • 7 = 토요일

예를 들어 다음 쿼리를 실행하면 요일이 숫자로 반환됩니다:

SELECT DATEPART(dw, GETDATE());

이 숫자 값은 유용할 수 있지만, 사용자가 이해하기에는 그리 친숙하지 않습니다; 우리의 목표는 이 숫자 출력을 더 읽기 쉬운 형식, 즉 요일 이름으로 변환하는 것입니다.

해결책: datename 사용하기

숫자 대신 요일 이름을 얻으려면 SQL Server에서 DATENAME 함수를 활용할 수 있습니다. DATENAME 함수는 특정 날짜에 대한 특정 날짜 부분의 이름을 반환하도록 해줍니다. 어떻게 하는지 살펴봅시다:

1단계: DATENAME 함수 사용하기

SQL 쿼리에서 datepart 함수를 datename으로 간단히 대체할 수 있습니다:

SELECT DATENAME(weekday, GETDATE());

쿼리 설명:

  • DATENAME: 이 함수는 두 개의 매개변수를 받습니다; 첫 번째는 검색하려는 날짜 부분(이 경우 weekday), 두 번째는 정보를 추출하려는 날짜(이 경우 GETDATE()에 의해 반환된 현재 날짜)입니다.
  • GETDATE(): 이 함수는 현재 데이터베이스 시스템의 타임스탬프를 반환합니다.

2단계: 쿼리 실행하기

위의 SELECT 문을 실행하면 현재 요일의 이름이 반환됩니다. 예를 들어 “일요일”, “월요일” 등의 형식으로 반환되며, 한눈에 이해하기가 훨씬 쉬워집니다.

결론

SQL Server에서 DATENAME 함수를 사용하여 숫자 형태의 요일 표현을 더 의미 있는 요일 이름으로 쉽게 변환할 수 있습니다. 이 간단한 원라인 쿼리는 시간을 절약하고 데이터 출력을 특히 보고서나 사용자 인터페이스에서 크게 해석할 수 있도록 만들어줄 것입니다.

다음에 SQL Server에서 요일을 검색해야 할 때, 숫자를 이름으로 변환하는 것이 단지 빠른 쿼리 하나로 가능하다는 것을 기억하세요!

GETDATE()를 특정 날짜 값으로 바꿔 다른 날짜로 실험해보며 이 함수들이 어떻게 작동하는지 확인해보세요!