SQL Server 2008에서 mmddyyyy varchar 문자열을 날짜/시간으로 변환하는 효과적인 방법
SQL Server 2008에서는 날짜를 나타내는 mmddyyyy 형식 문자열을 날짜/시간 데이터 유형으로 변환하면 변환 오류가 발생할 수 있습니다. 이 문제를 해결하는 방법은 다음과 같습니다.
문자열 구문 분석 및 변환
CONVERT 함수를 직접 사용한 변환은 범위를 벗어난 오류로 인해 실패할 수 있습니다. 대신 문자열을 구성 요소(월, 일, 연도)로 수동으로 구문 분석한 다음 날짜/시간 값을 구성해야 합니다.
<code class="language-sql">DECLARE @Date char(8) SET @Date = '12312009' SELECT CONVERT(datetime, RIGHT(@Date, 4) + SUBSTRING(@Date, 3, 2) + LEFT(@Date, 2))</code>
예: '12312009'를 DateTime으로 변환
위 방법을 사용하면 문자열 '12312009'를 다음과 같이 날짜/시간 값으로 변환할 수 있습니다.
<code class="language-sql">SELECT CONVERT(datetime, RIGHT('12312009', 4) + SUBSTRING('12312009', 3, 2) + LEFT('12312009', 2))</code>
출력결과
위 쿼리의 결과는 다음과 같습니다.
<code>----------------------- 2009-12-31 00:00:00.000 (1 row(s) affected)</code>
변환의 정확성을 보장하기 위해 코드에서 문자열 처리 순서가 조정되어 연도가 앞에, 월이 중간에, 날짜가 끝에 배치됩니다. CONVERT 함수의 기본 처리 방법과 다릅니다.
위 내용은 SQL Server 2008에서 mmddyyyy Varchar 문자열을 DateTime으로 성공적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!