What is the maximum characters for the NVARCHAR(MAX)?
Sql ServerSql Server-2008Sql Server-2005Sql Server Problem Overview
I have declared a column of type NVARCHAR(MAX)
in SQL Server 2008, what would be its exact maximum characters having the MAX as the length?
Sql Server Solutions
Solution 1 - Sql Server
The max size for a column of type NVARCHAR(MAX)
is 2 GByte of storage.
Since NVARCHAR
uses 2 bytes per character, that's approx. 1 billion characters.
Leo Tolstoj's War and Peace is a 1'440 page book, containing about 600'000 words - so that might be 6 million characters - well rounded up. So you could stick about 166 copies of the entire War and Peace book into each NVARCHAR(MAX)
column.
Is that enough space for your needs? :-)
Solution 2 - Sql Server
>By default, nvarchar(MAX) values are stored exactly the same as nvarchar(4000) values would be, unless the actual length exceed 4000 characters; in that case, the in-row data is replaced by a pointer to one or more seperate pages where the data is stored.
If you anticipate data possibly exceeding 4000 character, nvarchar(MAX) is definitely the recommended choice.
Solution 3 - Sql Server
From MSDN Documentation
> nvarchar [ ( n | max ) ] > > Variable-length Unicode string data. n defines the string length and can be a value from 1 through 4,000. max indicates that the maximum storage size is 2^31-1 bytes (2 GB). The storage size, in bytes, is two times the actual length of data entered + 2 bytes
Solution 4 - Sql Server
I think actually nvarchar(MAX)
can store approximately 1070000000 chars.