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

Fonctionnement de la fonction LPAD() dans MySQL

Dans MySQL, le LPAD() permet de remplir la partie gauche d'une chaîne avec un ou plusieurs caractères.

La façon dont cela fonctionne est que vous spécifiez la chaîne à remplir, la longueur du remplissage, ainsi que la chaîne de caractères à utiliser pour le remplissage.

Syntaxe

La syntaxe ressemble à ceci :

LPAD(str,len,padstr)

str est la chaîne à remplir, 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 1 - Utilisation de base

Voici un exemple de remplissage de la partie gauche d'une chaîne avec le caractère astérisque :

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

Résultat :

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

Dans cet exemple, le deuxième argument est 6 , ce qui signifie que la chaîne entière doit finir par avoir une longueur de 6 caractères après que tout le rembourrage a été appliqué. Le troisième argument spécifie le caractère à utiliser pour le remplissage.

Donc, dans ce cas, si nous ne voulons qu'un seul astérisque, nous pouvons le faire :

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

Résultat :

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

Exemple 2 – 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.

Par exemple, nous pourrions reprendre l'exemple précédent et ajouter un espace après l'astérisque :

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

Résultat :

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

Notez que nous avons également augmenté le nombre de caractères à 5 afin d'accueillir le caractère supplémentaire.

Voici un autre exemple utilisant différents caractères :

SELECT LPAD('!', 15, 'Blah ') AS Result;

Résultat :

+-----------------+
| Result          |
+-----------------+
| Blah Blah Blah! |
+-----------------+

Exemple 3 - Le deuxième argument est trop petit

Si la valeur du deuxième argument est trop petite, vous risquez de vous retrouver sans remplissage :

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

Résultat :

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

Dans d'autres cas, vous pourriez vous retrouver avec la chaîne de remplissage raccourcie, ou même raccourcir la chaîne d'origine :

SELECT 
  LPAD('Cat', 6, 'Puddy '),
  LPAD('Cat', 2, 'Puddy ');

Résultat :

+--------------------------+--------------------------+
| LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') |
+--------------------------+--------------------------+
| PudCat                   | Ca                       |
+--------------------------+--------------------------+

Notez que ces exemples sont uniquement à des fins de démonstration. Dans la plupart des cas, vous n'utiliserez pas LPAD() simplement joindre deux mots ensemble. Pour ce faire, vous feriez mieux d'utiliser CONCAT() à la place.

Exemple 4 - Un exemple de base de données

Voici un exemple de sélection de données dans une base de données et de remplissage sur son côté gauche :

SELECT Genre, LPAD(Genre, 10, '.')
FROM Genres;

Résultat :

+---------+----------------------+
| Genre   | LPAD(Genre, 10, '.') |
+---------+----------------------+
| Rock    | ......Rock           |
| Jazz    | ......Jazz           |
| Country | ...Country           |
| Pop     | .......Pop           |
| Blues   | .....Blues           |
| Hip Hop | ...Hip Hop           |
| Rap     | .......Rap           |
| Punk    | ......Punk           |
+---------+----------------------+