簡體   English   中英

nvarchar(MAX)將保留的最大字符數是多少?

[英]What is the maximum number of characters that nvarchar(MAX) will hold?

我是概念nvarchar(MAX)新手。 它會包含多少個字符?

最大。 容量是2千兆字節的空間 - 因此您正在查看超過10億個2字節字符,這些字符將適合NVARCHAR(MAX)字段。

使用其他答案更詳細的數字,您應該能夠存儲

(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 31-1長度中減去兩個以上的字節 - 因此你可以存儲1個Unicode字符比我之前聲稱的少。

來自char和varchar(Transact-SQL)

varchar [(n | max)]

可變長度的非Unicode字符數據。 n可以是1到8,000之間的值。 max表示最大存儲大小為2 ^ 31-1個字節。 存儲大小是輸入的實際數據長度+ 2個字節。 輸入的數據長度可以是0個字符。 varchar的ISO同義詞是char變化或字符變化。

2 ^ 31-1個字節。 因此,varchar(max)的字符少於2 ^ 31-1個字符,nvarchar(max)的字符的一半。

nchar和nvarchar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM