Fonction de longueur de chaîne mysql

Fonction de longueur de chaîne mysql
MySQL nous fournit une collection d'outils et de fonctions intégrées pour manipuler divers types de données et enregistrements dans une base de données. Certaines fonctions communes et utiles sont les fonctions et opérateurs de chaîne.

Dans ce tutoriel, nous examinerons comment utiliser les fonctions MySQL prédéfinies pour déterminer la longueur d'une chaîne.

Les bases

Sans plonger profondément dans les jeux de caractères, MySQL prend en charge une large sélection de jeux de caractères. Chaque jeu de caractères contient une longueur maximale d'octets qu'il peut stocker par caractère.

Pour en savoir plus sur le jeu de caractères pris en charge et leur longueur maximale, utilisez la ressource fournie ci-dessous:

https: // dev.mysql.com / doc / Refman / 8.0 / EN / Charset Charsets.html

Dans MySQL, une chaîne peut être dans l'un des jeux de caractères pris en charge. Pour déterminer la longueur d'une chaîne, vous pouvez utiliser la méthode des octets ou la méthode de caractères.

La méthode des octets renvoie la longueur de la chaîne spécifiée en octets. Si une chaîne contient un ensemble de caractères de 1 octet, la longueur de la chaîne est égale au nombre de caractères.

Cependant, si la chaîne spécifiée contient des caractères multi-octets, le nombre de caractères n'est pas égal à la longueur de la chaîne.

Utilisation de mysql caractères_length ()

Pour obtenir la longueur d'une chaîne en caractères, vous pouvez utiliser la fonction caractères_length (). Cette fonction est un synonyme de la fonction char_length (). Il fonctionne en comptant le nombre de caractères dans une chaîne, qu'il s'agisse d'un personnage à un octet ou multi-octets.

Prenons la table de la campagne dans la base de données Sakila. Pour obtenir la longueur des chaînes de noms de pays, nous pouvons utiliser une requête comme:

Sélectionnez le pays, char_length (pays) en longueur
Du pays
Commande par durée
Limiter 10;

La requête ci-dessus doit retourner la longueur des noms de pays.

Utilisation de MySQL Length ()

Pour obtenir la longueur d'une chaîne en octets, nous utilisons la fonction Longueur (). Dans ce cas, la fonction prend en compte s'il s'agit d'un caractère à un octe ou multi-octets.

Nous pouvons appliquer l'exemple ci-dessus comme indiqué dans la requête ci-dessous:

Sélectionnez le pays, la longueur (pays) comme longueur
Du pays
Commande par durée
Limiter 10;

Dans cet exemple, les valeurs sont en octets au lieu de caractères. Étant donné que les exemples ci-dessus utilisent des caractères à un octet, vous ne remarquerez peut-être pas la différence.

Cependant, sur un caractère multi-octet comme valeur kanji pour le pays, les valeurs sont différentes.

Considérez la requête ci-dessous:

Sélectionnez char_length ('国') comme longueur_in_char;

Une fois que nous avons exécuté la requête ci-dessus, nous devrions obtenir la longueur comme 1.

+----------------+
| LONGNEMENT_IN_CHAR |
+----------------+
| 1 |
+----------------+

Considérez la même requête en utilisant la fonction LONGTES ().

SELECT LONGGET ('国') As LONGT-IN_BYTES;

Dans ce cas, la longueur est 3.

+-----------------+
| LONGNEMENT_IN_BYTES |
+-----------------+
| 3 |
+-----------------+

Conclusion

Ce guide vous a montré comment utiliser les fonctions MySQL intégrées pour obtenir la longueur d'une chaîne en octets et caractères.

Merci pour la lecture!