개별 날짜 부분에서 T-SQL의 DATETIME 값 구성
이전 버전의 SQL Server(예: SQL Server 2005)에서는 별도의 일, 월, 연도 구성 요소에서 직접 DATETIME
값을 생성하는 것이 까다로울 수 있으며 오류가 발생하기 쉽습니다. 이 가이드에서는 이를 안정적으로 달성하기 위한 몇 가지 방법을 간략하게 설명합니다.
방법 1: 날짜/시간 구성에 DATEADD
사용
이 방법은 DATEADD
기능을 활용하여 DATETIME
단계별:
<code class="language-sql">DECLARE @DayOfMonth TINYINT; SET @DayOfMonth = 13; DECLARE @Month TINYINT; SET @Month = 6; DECLARE @Year INT; SET @Year = 2006; SELECT DATEADD(day, @DayOfMonth - 1, DATEADD(month, @Month - 1, DATEADD(year, @Year - 1900, 0)));</code>
@DayOfMonth
과 @Month
에서 1을 빼면 DATEADD
가 기준일(1900년 1월 1일)에서 오프셋을 적용한다는 사실을 알 수 있습니다.
방법 2: 대체 DATEADD
구문
DATEADD
을 사용하는 보다 간결한 접근 방식은 다음과 같습니다.
<code class="language-sql">SELECT DATEADD(yy, @Year - 1900, DATEADD(m, @Month - 1, @DayOfMonth -1));</code>
DATEADD
호출 배열을 약간 다르게 해도 동일한 결과를 얻을 수 있습니다.
방법 3: DATEFROMPARTS
(SQL Server 2012 이상)
SQL Server 2012 이상 버전에서는 편리한 DATEFROMPARTS
기능을 제공합니다.
<code class="language-sql">SELECT DATEFROMPARTS(@Year, @Month, @DayOfMonth);</code>
SQL Server 버전이 지원하는 경우 가장 간단한 방법입니다.
윤년 처리
DATEFROMPARTS
은 윤년을 자동으로 처리하지만 DATEADD
메서드는 윤년을 올바르게 처리할 만큼 강력합니다. 제공된 예시에서는 윤년에 대한 특별한 조정이 필요하지 않습니다.
SQL Server 버전과 코딩 스타일에 가장 적합한 방법을 선택하세요. DATEFROMPARTS
은 SQL Server 버전에서 허용하는 경우 단순성과 명확성을 위해 선호되는 접근 방식입니다.
위 내용은 T-SQL에서 별도의 일, 월, 연도 구성 요소로부터 날짜/시간 값을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!