집 >데이터 베이스 >MySQL 튜토리얼 >CASE 문 없이 SQL Server에서 월 번호를 월 이름으로 변환하는 방법은 무엇입니까?
SQL Server: 월 숫자를 이름으로 효율적으로 변환
SQL Server 데이터베이스는 월을 숫자 값(1월은 1, 2월은 2 등)으로 저장하는 경우가 많습니다. 이 기사에서는 번거로운 CASE
문
DATENAME
기능 활용
간결한 솔루션의 핵심은 SQL Server에 내장된 DATENAME
기능에 있습니다. 이 기능은 월 이름을 포함하여 날짜의 특정 부분을 추출합니다.
솔루션
다음 SQL 쿼리는 변환을 우아하게 처리합니다.
<code class="language-sql">SELECT DATENAME(MONTH, DATEADD(MONTH, @MonthNumber, 0) - 1)</code>
설명:
DATEADD(MONTH, @MonthNumber, 0)
: 기본 날짜 '0'(1900년 1월 1일을 나타냄)에 입력 @MonthNumber
(월을 나타냄)을 추가합니다. 이는 교묘하게 목표 월의 첫날에 위치를 지정합니다.- 1
: 하루를 빼면 DATENAME
이 원하는 달의 이름을 정확하게 반환하여 일대일 오류를 방지할 수 있습니다.DATENAME(MONTH, ...)
: 마지막으로 DATENAME
은 계산된 날짜에서 월 이름을 추출합니다.대체 접근 방식:
동일하게 효과적인 대안은 다음과 같습니다.
<code class="language-sql">SELECT DATENAME(MONTH, DATEADD(MONTH, @MonthNumber, -1))</code>
이것은 1월 1일보다 한 달 전 날짜에 월 숫자를 직접 추가하여 약간 더 간결한 방식으로 동일한 결과를 얻습니다.
사용방법:
@MonthNumber
을 숫자로 된 월 값(1-12)으로 바꾸세요. 그러면 쿼리는 해당 월 이름을 반환합니다. 예:
<code class="language-sql">SELECT DATENAME(MONTH, DATEADD(MONTH, 5, 0) - 1); -- Returns 'May'</code>
위 내용은 CASE 문 없이 SQL Server에서 월 번호를 월 이름으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!