집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 '문자열에서 날짜 및/또는 시간을 변환할 때 변환에 실패했습니다.' 오류를 방지하려면 어떻게 해야 합니까?
SQL Server의 날짜/시간 삽입 문제 해결
SQL Server 테이블에 날짜와 시간을 삽입하면 "문자열에서 날짜 및/또는 시간을 변환할 때 변환에 실패했습니다." 오류가 자주 발생합니다. 이는 일반적으로 데이터 형식이 데이터베이스의 기대와 일치하지 않을 때 발생합니다.
해결책에는 일관된 날짜/시간 형식을 사용하는 것이 포함됩니다. SQL Server는 이상적으로 다음과 같은 변형의 ISO-8601 형식을 허용합니다.
YYYYMMDD
(날짜만)YYYY-MM-DDTHH:mm:ss
(날짜 및 시간, 하이픈으로 구분)ISO-8601을 채택하면 다양한 언어 및 지역 설정 간의 호환성이 보장됩니다. 예를 들어 올바른 삽입은 다음과 같습니다.
<code class="language-sql">INSERT INTO table1 VALUES ('2012-02-21T18:10:00', '2012-01-01T00:00:00');</code>
유연성 향상을 위해 SQL Server 2008 이상 버전에서는 DATETIME2
데이터 유형을 제공합니다. 이를 통해 날짜/시간 문자열을 보다 관대하게 구문 분석할 수 있습니다. 문제가 있는 값은 다음과 같이 처리할 수 있습니다.
<code class="language-sql">SELECT CAST('02-21-2012 6:10:00 PM' AS DATETIME2), -- Successful conversion CAST('01-01-2012 12:00:00 AM' AS DATETIME2); -- Successful conversion</code>
향후 변환 오류를 방지하려면 개발자는 항상 ISO-8601과 같은 표준화된 날짜/시간 형식을 사용해야 하며, 가능한 경우 DATETIME2
데이터 유형을 활용하여 SQL Server 내에서 호환성과 오류 허용 범위를 개선해야 합니다.
위 내용은 SQL Server에서 '문자열에서 날짜 및/또는 시간을 변환할 때 변환에 실패했습니다.' 오류를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!