답변:
맥스. 용량은 2GB의 공간 NVARCHAR(MAX)
입니다. 따라서 필드에 맞는 2 바이트 문자가 10 억 개가 조금 넘습니다 .
다른 답변의 더 자세한 번호를 사용하여 저장할 수 있어야합니다.
(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters
1 billion, 73 million, 741 thousand and 822 characters to be precise
당신의 NVARCHAR(MAX)
열 (불행하게도, 후반 문자가 낭비되는 것을 ...)
업데이트 : @MartinMulder가 지적했듯이 모든 가변 길이 문자 열에는 실제 길이를 저장하는 데 2 바이트 오버 헤드가 2 ^ 31 - 1
있습니다. 따라서 이전에 규정 한 길이 에서 2 바이트를 더 빼야했습니다. 따라서 1 개의 유니 코드 문자를보다 적게 저장할 수 있습니다. 나는 전에 주장했다.
VARCHAR(MAX)
아시아, 아랍 또는 키릴 어에 대한 2 바이트 지원이 필요하지 않은 경우를 사용 하십시오. (N)VARCHAR(x)
문자열이 x 자보다 길지 않을 것이라는 것을 알고있는 경우 사용하십시오 ( NVARCHAR(MAX)
이름 에는 사용하지 마십시오 - NVARCHAR(50)
또는 당신에게 의미가있는 것을 사용하십시오)
에서 CHAR 및 VARCHAR (Transact-SQL)를 참조하십시오
varchar [(n | 최대)]
가변 길이, 비 유니 코드 문자 데이터. n은 1에서 8,000 사이의 값일 수 있습니다. max는 최대 저장소 크기가 2 ^ 31-1 바이트임을 나타냅니다. 저장 크기는 입력 된 데이터의 실제 길이 + 2 바이트입니다. 입력 된 데이터의 길이는 0 자입니다. varchar의 ISO 동의어는 문자가 다양하거나 문자가 다양합니다.
2 ^ 31-1 바이트. 따라서 varchar (max)의 경우 2 ^ 31-1 자 미만이고 nvarchar (max)의 경우 절반 미만입니다.