본문 바로가기

Programming/Microsoft SQL Server

VARCHAR(MAX)나 NVARCHAR(MAX)에 문자열 삽입시 잘림현상에 대해

VARCHAR(MAX)나 NVARCHAR(MAX)는 최대 넣을 수 있는 데이터양이 2GB에 달합니다. 그런데 실제 문자열을 담기를 시도해 보면 2GB에 훨씬 못미치는 VARCHAR(MAX) 8000자 NVARCHAR(MAX) 4000자 밖에 못들어 감을 확인할 수 있습니다.

 

Declare @content VarChar(Max);
Set @content = REPLICATE('A', 10000);
Select LEN(@content); --결과 8000

이런 경우에는 넣으려는 문자열데이터를 VARCHAR(MAX)나 NVARCHAR(MAX)로 형변환해줘야 합니다.

Declare @content VarChar(Max);
Set @content = REPLICATE(CAST('A' AS VarChar(Max)), 10000);
Select LEN(@content); --결과 10000