Maison  >  Article  >  base de données  >  Explication détaillée de l'utilisation de la fonction CHARACTER_LENGTH() dans MySQL

Explication détaillée de l'utilisation de la fonction CHARACTER_LENGTH() dans MySQL

藏色散人
藏色散人original
2019-04-25 17:06:098030parcourir

Dans MySQL, la fonction CHARACTER_LENGTH() renvoie la longueur de la chaîne en caractères.

CHARACTER_LENGTH() est un synonyme de la fonction CHAR_LENGTH().

La syntaxe est la suivante :

CHARACTER_LENGTH(str)

où str est la chaîne renvoyant la longueur.

Exemple 1 - Utilisation de base

Ce qui suit est un exemple d'utilisation de base :

SELECT CHARACTER_LENGTH('Cat');

Le résultat est comme ceci :

+-------------------------+
| CHARACTER_LENGTH('Cat') |
+-------------------------+
|                       3 |
+-------------------------+

Exemple 2 - Espaces à la fin

Notez que CHARACTER_LENGTH() inclut des espaces de fin (tels que des espaces à la fin d'une chaîne) dans ses calculs.

Donc si on ajoute un espace à la fin de l'exemple précédent :

SELECT CHARACTER_LENGTH('Cat ');

le résultat :

+--------------------------+
| CHARACTER_LENGTH('Cat ') |
+--------------------------+
|                        4 |
+--------------------------+

Mais on peut utiliser la fonction TRIM() ou RTRIM ( ) fonction pour supprimer les espaces suivants :

SELECT 
  CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM',
  CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';

Résultat :

+------+-------+
| TRIM | RTRIM |
+------+-------+
|    3 |     3 |
+------+-------+

Exemple 3 - Il y a des espaces devant

Le même concept s'applique également. S'applique aux espaces précédents. Vous pouvez utiliser TRIM ou LTRIM :

SELECT 
  CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM',
  CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';

Résultat :

+------+-------+
| TRIM | LTRIM |
+------+-------+
|    3 |     3 |
+------+-------+

Exemple 4 - Type de données

quelle que soit la chaîne Quel que soit le type de données stocké, le résultat sera le même. Cela contraste avec la fonction LENGTH(), qui renverra le double du nombre de caractères si les données sont stockées sous forme de chaîne Unicode.

Dans l'exemple ci-dessous, la colonne ArtistName utilise varchar(255) :

SELECT CHARACTER_LENGTH(ArtistName) Result
FROM Artists
WHERE ArtistName = 'Lit';

Le résultat :

+--------+
| Result |
+--------+
|      3 |
+--------+

Si on modifie la colonne ArtistName pour utiliser Unicode :

ALTER TABLE Artists 
MODIFY COLUMN ArtistName VARCHAR(255) unicode;

et exécuter à nouveau la même requête :

SELECT CHARACTER_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';

nous obtenons toujours le même résultat :

+--------+
| Result |
+--------+
|      3 |
+--------+

Cependant, si vous utilisez LENGTH (), le résultat sera 6. En effet, les chaînes Unicode stockent 2 octets par caractère et la fonction LENGTH() renvoie la longueur mesurée en octets.

Recommandations associées : "Tutoriel 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!

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