In MySQL is de RPAD()
Met deze functie kunt u het rechtergedeelte van een tekenreeks opvullen met een of meer tekens.
De manier waarop het werkt, is dat u de tekenreeks opgeeft die moet worden ingevuld, de lengte van de opvulling en de tekenreeks die voor de opvulling moet worden gebruikt.
Syntaxis
De syntaxis gaat als volgt:
RPAD(str,len,padstr)
Waar str
is de tekenreeks die moet worden ingevuld, len
is de gewenste lengte van de tekenreeks in tekens nadat alle opvulling is toegepast, en padstr
is de tekenreeks om het mee op te vullen.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld van het opvullen van het rechtergedeelte van een tekenreeks met een uitroepteken:
SELECT RPAD('Cat', 6, '!') AS Result;
Resultaat:
+--------+ | Result | +--------+ | Cat!!! | +--------+
In dit voorbeeld is het tweede argument 6
, wat betekent dat de hele string uiteindelijk 6 tekens lang moet zijn nadat alle opvulling is toegepast. Het derde argument specificeert welk teken moet worden gebruikt voor de opvulling.
Dus in dit geval, als we maar één uitroepteken willen, kunnen we dit doen:
SELECT RPAD('Cat', 4, '!') AS Result;
Resultaat:
+--------+ | Result | +--------+ | Cat! | +--------+
Voorbeeld 2 – Meerdere tekens
Je bent niet beperkt tot slechts een enkel teken. U kunt een string met een willekeurig aantal tekens opvullen.
We kunnen bijvoorbeeld het vorige voorbeeld nemen en een spatie toevoegen voor het uitroepteken:
SELECT RPAD('Cat', 5, ' !') AS Result;
Resultaat:
+--------+ | Result | +--------+ | Cat ! | +--------+
Merk op dat we ook het aantal tekens hebben verhoogd tot 5
om plaats te bieden aan het extra karakter.
Hier is nog een voorbeeld waarin verschillende tekens worden gebruikt:
SELECT RPAD('Dog', 7, 'gone') AS Result;
Resultaat:
+---------+ | Result | +---------+ | Doggone | +---------+
Voorbeeld 3 – Tweede argument is te klein
Als de waarde van het tweede argument te klein is, kan het zijn dat u geen opvulling krijgt:
SELECT RPAD('Cat', 3, '!') AS Result;
Resultaat:
+--------+ | Result | +--------+ | Cat | +--------+
In andere gevallen zou je kunnen eindigen met het afknippen van de opvulstring, of zelfs de originele string kort:
SELECT RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Resultaat:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
Merk op dat deze voorbeelden alleen voor demonstratiedoeleinden zijn. In de meeste gevallen zou u RPAD()
. niet gebruiken om eenvoudig twee woorden samen te voegen. Om dat te doen, kunt u beter CONCAT()
. gebruiken in plaats daarvan.
Voorbeeld 4 – Een databasevoorbeeld
Hier is een voorbeeld van het selecteren van gegevens uit een database en deze aan de rechterkant opvullen:
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Resultaat:
+------------------------+---------------------------+ | 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............. | +------------------------+---------------------------+