Maison >base de données >tutoriel mysql >Comment trier les données par longueur de chaîne dans MySQL ?

Comment trier les données par longueur de chaîne dans MySQL ?

DDD
DDDoriginal
2024-11-02 13:32:30210parcourir

How do you sort data by string length in MySQL?

Sélection des données par longueur de chaîne dans MySQL

Tentative de requête initiale :

Considérez la requête suivante, qui tente de trier données par longueur de chaîne :

<code class="sql">SELECT * FROM table ORDER BY string_length(column);</code>

Cependant, cette requête produit une erreur. Malgré l'existence d'une fonction string_length dans MySQL, elle ne peut pas être utilisée pour trier les données.

Solution : Utiliser CHAR_LENGTH()

Pour trier les données par longueur de chaîne, vous besoin d'utiliser la fonction CHAR_LENGTH(). Contrairement à string_length, CHAR_LENGTH() renvoie le nombre de caractères dans une chaîne, pas le nombre d'octets.

Requête mise à jour :

<code class="sql">SELECT * FROM table ORDER BY CHAR_LENGTH(column);</code>

Différence entre LENGTH() et CHAR_LENGTH()

Pour les jeux de caractères multi-octets (par exemple, UTF-8), LENGTH() renverra le nombre d'octets dans une chaîne, tandis que CHAR_LENGTH() renverra le nombre de caractères. Par conséquent, pour les jeux de caractères multi-octets, vous devez utiliser CHAR_LENGTH() pour des calculs précis de la longueur des chaînes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn