집 >데이터 베이스 >MySQL 튜토리얼 >내 Nvarchar(Max) 변수가 4000자에서 잘리는 이유는 무엇입니까?
Nvarchar(Max) 데이터에서 예기치 않은 잘림
@SQL1 변수를 최대 2GB까지 저장할 수 있는 nvarchar(max)로 선언했음에도 불구하고 데이터의 결과는 4000자에서 잘립니다. 특히 nvarchar(max)의 막대한 데이터 용량을 고려하면 이는 혼란스러워 보일 수 있습니다.
문제는 @SQL1 변수 내 문자열 연결에 있습니다. @SQL1에 할당되기 전에 데이터는 길이가 4000자 미만인 문자열 컬렉션으로 저장됩니다. 이러한 문자열을 연결하면 최대 길이가 유지됩니다. 결과적으로 @SQL1에 할당하면 선언된 데이터 유형이 훨씬 더 많은 것을 허용하더라도 길이가 4000자인 문자열이 생성됩니다.
이러한 잘림을 방지하려면 연결되는 모든 문자열이 nvarchar인지 확인하세요. (최대) 할당을 수행하기 전의 데이터 유형입니다. 이는 더 짧은 문자열을 nvarchar(max)에 명시적으로 캐스팅하여 달성할 수 있습니다. 예:
SET @SQL1 = N'' SET @SQL1 = @SQL1 + N'SELECT DISTINCT Venue...'
상수 문자열을 nvarchar(max)로 캐스팅하면 전체 문자열이 nvarchar(max)가 되고 잘림 문제가 해결됩니다.
위 내용은 내 Nvarchar(Max) 변수가 4000자에서 잘리는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!