I MySQL, RPAD()
funktionen låter dig fylla den högra delen av en sträng med ett eller flera tecken.
Så här fungerar det är att du anger strängen som ska fyllas, längden på stoppningen, samt strängen av tecken som ska användas för stoppningen.
Syntax
Syntaxen ser ut så här:
RPAD(str,len,padstr)
Där str
är strängen att fylla på, len
är den önskade längden på strängen i tecken efter att all utfyllnad har tillämpats, och padstr
är strängen att stoppa den med.
Exempel 1 – Grundläggande användning
Här är ett exempel på hur den högra delen av en sträng fylls med ett utropstecken:
SELECT RPAD('Cat', 6, '!') AS Result;
Resultat:
+--------+ | Result | +--------+ | Cat!!! | +--------+
I det här exemplet är det andra argumentet 6
, vilket innebär att hela strängen måste vara 6 tecken lång efter att all utfyllnad har applicerats. Det tredje argumentet anger vilket tecken som ska användas för utfyllnaden.
Så i det här fallet, om vi bara vill ha ett utropstecken, kan vi göra detta:
SELECT RPAD('Cat', 4, '!') AS Result;
Resultat:
+--------+ | Result | +--------+ | Cat! | +--------+
Exempel 2 – Flera tecken
Du är inte begränsad till en enda karaktär. Du kan fylla på en sträng med valfritt antal tecken.
Till exempel kan vi ta det föregående exemplet och lägga till ett mellanslag före utropstecknet:
SELECT RPAD('Cat', 5, ' !') AS Result;
Resultat:
+--------+ | Result | +--------+ | Cat ! | +--------+
Observera att vi också ökade antalet tecken till 5
för att få plats med den extra karaktären.
Här är ett annat exempel med olika tecken:
SELECT RPAD('Dog', 7, 'gone') AS Result;
Resultat:
+---------+ | Result | +---------+ | Doggone | +---------+
Exempel 3 – Andra argumentet är för litet
Om värdet på det andra argumentet är för litet kan du sluta utan utfyllnad:
SELECT RPAD('Cat', 3, '!') AS Result;
Resultat:
+--------+ | Result | +--------+ | Cat | +--------+
I andra fall kan du sluta med att stoppningssträngen klipps kort, eller till och med klippa den ursprungliga strängen kort:
SELECT RPAD('Dog', 6, 'gone'), RPAD('Dog', 2, 'gone');
Resultat:
+------------------------+------------------------+ | RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') | +------------------------+------------------------+ | Doggon | Do | +------------------------+------------------------+
Observera att dessa exempel endast är för demonstrationsändamål. I de flesta fall skulle du inte använda RPAD()
att helt enkelt sammanfoga två ord. För att göra det är det bättre att använda CONCAT()
istället.
Exempel 4 – Ett databasexempel
Här är ett exempel på hur du väljer data från en databas och fyller på den på dess högra sida:
SELECT ArtistName, RPAD(ArtistName, 20, '.') FROM Artists;
Resultat:
+------------------------+---------------------------+ | 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............. | +------------------------+---------------------------+