MAX est un aggregate function. Lorsqu'il s'agit d'un type de données de colonne numérique, il renvoie la valeur la plus élevée. Pour les colonnes de caractères, MAX trouve la valeur la plus élevée dans la séquence de classement. De toute façon, il ne retournera qu'une valeur par groupe - si aucun groupe n'est spécifié, il ne retournera qu'une seule valeur.
Cela vous laisse besoin d'obtenir la longueur du corps de sorte que vous pouvez commander les résultats - vous avez deux options:
- LEN renvoie le nombre de caractères, plutôt que le nombre d'octets, de la expression de chaîne donnée, excluant les espaces de fin.
- DATALENGTH renvoie le nombre d'octets utilisés pour représenter une expression. DATALENGTH est particulièrement utile avec les types de données varchar, varbinary, text, image, nvarchar et ntext car ces types de données peuvent stocker des données de longueur variable. La DATALENGTH de NULL est NULL.
Vous voudriez utiliser la requête suivante:
SELECT TOP 10 p.body
FROM POSTS p
ORDER BY DATALENGTH(p.body) DESC
'max' retourne le dernier par ordre alphabétique. [De nos jours, il revient] (https://data.stackexchange.com/stackoverflow/query/edit/716156): "[π (pi) est une constante mathématique] (https://stackoverflow.com/tags/pi/ info) ... " –