declare @string nvarchar(MAX) = ''
@string中有多少个字符?
答案 0 :(得分:8)
nvarchar(MAX)最多可容纳2GB,大约10亿个字符,因为它是unicode
在你的情况下是0
另外看看这个,datalength计数存储,len计数字符,对于varchar这些将是相同的
declare @string nvarchar(MAX) = ''
select datalength(@string), LEN(@string)
GO
declare @string nvarchar(MAX) = '1'
select datalength(@string), LEN(@string)
答案 1 :(得分:3)
您可以使用大约20亿字节的Unicode字符。来自the MSDN documentation for char and varchar:
可变长度的非Unicode字符数据。 n可以是1到8,000之间的值。 max表示最大存储大小为2 ^ 31-1个字节。存储大小是输入的实际数据长度+ 2个字节。输入的数据长度可以是0个字符。 varchar的ISO同义词是char变化或字符变化。