Maison > base de données > tutoriel mysql > le corps du texte

Quelle fonction MySQL est la meilleure pour la sélection de la longueur des chaînes : CHAR_LENGTH() ou LENGTH() ?

Mary-Kate Olsen
Libérer: 2024-10-31 11:23:29
original
994 Les gens l'ont consulté

Which MySQL Function is Best for String Length Selection: CHAR_LENGTH() or LENGTH()?

Sélection de la longueur d'une chaîne MySQL

Il est possible de sélectionner des données en fonction de la longueur d'une chaîne dans MySQL. Une solution consiste à utiliser la fonction string_length(), comme indiqué dans :

<code class="sql">SELECT * FROM table ORDER BY string_length(column);</code>
Copier après la connexion

Cependant, il existe une fonction plus efficace pour cette tâche : CHAR_LENGTH(). Cette fonction renvoie le nombre de caractères dans une chaîne, quelle que soit la longueur des caractères (par exemple, mono-octet ou multi-octets).

La fonction LENGTH() peut également être utilisée pour déterminer le nombre d'octets occupés par une chaîne. Cependant, pour les jeux de caractères multi-octets, CHAR_LENGTH() est l'option préférée car elle renvoie le nombre de caractères plutôt que d'octets.

Pour illustrer la différence entre LENGTH() et CHAR_LENGTH(), considérons l'exemple suivant :

SELECT LENGTH('abc'), CHAR_LENGTH('abc') FROM dual;
Copier après la connexion

Pour l'encodage de caractères UTF-8, le résultat sera :

LENGTH: 3
CHAR_LENGTH: 3
Copier après la connexion

Cependant, si l'encodage de caractères est modifié en UTF-16, le résultat sera :

LENGTH: 6
CHAR_LENGTH: 3
Copier après la connexion

En effet, UTF-16 utilise deux octets pour coder chaque caractère, tandis que UTF-8 utilise un codage de longueur variable (1 octet pour les caractères ASCII, 2 octets pour les caractères Unicode). Par conséquent, CHAR_LENGTH() fournit une métrique plus cohérente et plus sensible aux caractères pour la longueur des chaînes dans MySQL.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal