Maison > Article > base de données > Explication détaillée de l'utilisation de la fonction CHARACTER_LENGTH() dans MySQL
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!