nvarchar(MAX)中有多少个字符可用

时间:2011-03-10 02:22:11

标签: sql sql-server

declare @string nvarchar(MAX) = ''

@string中有多少个字符?

2 个答案:

答案 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变化或字符变化。