Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment remplir une chaîne avec des caractères de début/fin dans MySQL - LPAD(), RPAD()

Parfois, vous devez remplir une chaîne avec des espaces. Ou peut-être que vous le remplirez avec un autre personnage. Parfois, vous devez le rembourrer à gauche. D'autres fois, vous devez le rembourrer à droite. Ou peut-être avez-vous besoin de le rembourrer des deux côtés.

Tout ce qui précède peut être fait dans MySQL en utilisant le LPAD() et/ou RPAD() fonctions de chaîne.

Syntaxe

La syntaxe de chacune de ces fonctions ressemble à ceci :

LPAD(str,len,padstr)
RPAD(str,len,padstr)

str est la chaîne qui doit être remplie, len est la longueur souhaitée de la chaîne en caractères après que tout le rembourrage a été appliqué, et padstr est la chaîne avec laquelle le remplir.

Exemple – LPAD()

Voici un exemple de remplissage du côté gauche d'une chaîne :

SELECT LPAD('Cat', 6, '*') AS Result;

Résultat :

+--------+
| Result |
+--------+
| ***Cat |
+--------+

Dans cet exemple, nous remplissons la chaîne avec le caractère astérisque (* ). Nous spécifions également 6 , ce qui signifie que la chaîne entière doit comporter 6 caractères une fois que tout le rembourrage a été appliqué.

Donc, si nous changeons le 6 dire, 10 , voici ce qui se passe :

SELECT LPAD('Cat', 10, '*') AS Result;

Résultat :

+------------+
| Result     |
+------------+
| *******Cat |
+------------+

Exemple – RPAD()

Le RPAD() la fonction fonctionne exactement de la même manière que LPAD() , sauf qu'il ajoute les caractères à droite côté de la chaîne :

SELECT RPAD('Cat', 6, '*') AS Result;

Résultat :

+--------+
| Result |
+--------+
| Cat*** |
+--------+

Exemple :les deux

Vous pouvez utiliser les deux fonctions ensemble pour remplir une chaîne des deux côtés. Pour ce faire, passez simplement une fonction à l'autre en tant qu'argument.

Comme ceci :

SELECT LPAD(RPAD('Cat', 6, '*'), 9, '*') AS Result;

Résultat :

+-----------+
| Result    |
+-----------+
| ***Cat*** |
+-----------+

Plusieurs caractères

Vous n'êtes pas limité à un seul personnage. Vous pouvez remplir une chaîne avec n'importe quel nombre de caractères. Voici un exemple :

SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;

Résultat :

+--------------------------------+
| Result                         |
+--------------------------------+
| She Loves Me Yeah! Yeah! Yeah! |
+--------------------------------+