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)
Où 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 | +---------+----------------------+