sql >> Base de Datos >  >> RDS >> Sqlserver

Mi campo VARCHAR(MAX) se limita a 4000; ¿lo que da?

Corregido...

La tabla puede ser varchar(max) pero los valores que asigna son solo nvarchar (4000)

Es decir,

maxcolumn = maxvalues + smallstring1 + **unicodestring** + smallstring3 + smallstring4 ...

El lado derecho permanecerá en nvarchar(4000) máximo debido a la precedencia del tipo de datos. nvarchar> varchar. Cuando se asigna a la columna máxima, se trunca

Deberá asegurarse de que todos los valores estén a la derecha en varchar

Es todavía como la división de enteros... lo que me confundió fue el límite de 4000 cuando varchar es 8000... esto implica nvarchar en alguna parte.

Para Nvarchar (Max) solo obtengo 4000 caracteres en TSQL?