Dans MySQL, le RPAD()
permet de remplir la partie droite 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 :
RPAD(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 droite d'une chaîne avec un point d'exclamation :
SELECT RPAD('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 point d'exclamation, nous pouvons le faire :
SELECT RPAD('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 avant le point d'exclamation :
SELECT RPAD('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 RPAD('Dog', 7, 'gone') AS Result;
Résultat :
+---------+ | Result | +---------+ | Doggone | +---------+
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 RPAD('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 RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Résultat :
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
Notez que ces exemples sont uniquement à des fins de démonstration. Dans la plupart des cas, vous n'utiliserez pas RPAD()
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é droit :
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Résultat :
+------------------------+---------------------------+ | ArtistName | RPAD(ArtistName, 20, '.') | +------------------------+---------------------------+ | Iron Maiden | Iron Maiden......... | | AC/DC | AC/DC............... | | Allan Holdsworth | Allan Holdsworth.... | | Buddy Rich | Buddy Rich.......... | | Devin Townsend | Devin Townsend...... | | Jim Reeves | Jim Reeves.......... | | Tom Jones | Tom Jones........... | | Maroon 5 | Maroon 5............ | | The Script | The Script.......... | | Lit | Lit................. | | Black Sabbath | Black Sabbath....... | | Michael Learns to Rock | Michael Learns to Ro | | Carabao | Carabao............. | | Karnivool | Karnivool........... | | Birds of Tokyo | Birds of Tokyo...... | | Bodyjar | Bodyjar............. | +------------------------+---------------------------+