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%"
Réponses:
1 pour la réponse № 1Selon 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