Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Meu campo VARCHAR(MAX) está se limitando a 4000; o que da?


Corrigido...

A tabela pode ser varchar(max), mas os valores que você atribui são apenas nvarchar (4000)

Isso é,
maxcolumn = maxvalues + smallstring1 + **unicodestring** + smallstring3 + smallstring4 ...

O lado direito ficará em nvarchar(4000) máximo devido à precedência do tipo de dados. nvarchar> varchar. Quando atribuído à coluna max, ele trunca

Você terá que garantir todos os valores à direita em varchar

É ainda como divisão inteira... o que me confundiu foi o limite de 4000 quando varchar é 8000... isso implica nvarchar em algum lugar.

Para Nvarchar (Max) estou recebendo apenas 4000 caracteres no TSQL?