/ / -1 signifie-t-il toujours “max” dans la table de métadonnées SQL Server? - serveur SQL, serveur SQL 2008, caractère, métadonnées, longueur maximale

Est-ce que -1 signifie toujours «max» dans le tableau de métadonnées SQL Server? - sql-server, sql-server-2008, character, metadata, maxlength

Lorsqu’il est exécuté dans SQL Server, je vois "-1défini dans la colonne CHARACTER_MAXIMUM_LENGTH pour les champs / colonnes de table avec un type de données nvarchar (max). Si la longueur n'est pas définie, puis-je supposer qu'elle est toujours définie sur -1?

SELECT COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE,ORDINAL_POSITION
FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE "Ancestor_C%"

entrer la description de l'image ici

Réponses:

1 pour la réponse № 1

Selon ce fil, Si c'est char, varchar, nchar, nvarchar il est 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
...

Selon ce site cela indique:

-1 pour les données de type xml et grande valeur. Sinon, NULL est renvoyé.

Qui est également soutenu par ce site