[sql-server] nvarchar (MAX)가 보유 할 최대 문자 수는 얼마입니까?
나는 개념이 처음입니다 nvarchar(MAX)
. 얼마나 많은 문자를 담을 수 있습니까?
답변
맥스. 용량은 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 개의 유니 코드 문자를보다 적게 저장할 수 있습니다. 나는 전에 주장했다.
답변
에서 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)의 경우 절반 미만입니다.