Cuando ejecuto esto en SQL Server, estoy viendo -1definido en la columna CHARACTER_MAXIMUM_LENGTH para campos / columnas de tabla con un tipo de datos de nvarchar (max). Si la longitud no está definida, ¿puedo asumir que esto siempre se establece en -1?
SELECT COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE,ORDINAL_POSITION
FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE "Ancestor_C%"
Respuestas
1 para la respuesta № 1De acuerdo a este hilo, si esto es char, varchar, nchar, nvarchar
es MAX
:
...
CASE WHEN t.NAME IN ("char","varchar","nchar","nvarchar")
THEN CASE WHEN c.max_length = - 1
THEN "MAX"
ELSE CONVERT(VARCHAR(4), CASE WHEN t.NAME IN ("nchar","nvarchar") THEN c.max_length / 2
...
De acuerdo a este sitio esto indica:
-1 para datos de tipo xml y de gran valor. De lo contrario, se devuelve NULL.
Que también es apoyado por este sitio