[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)의 경우 절반 미만입니다.

nchar 및 nvarchar


답변