Ibland när du arbetar med MySQL-databaser kan du behöva lägga till flera blanksteg i en sträng.
Kanske behöver du vaddera ett snöre genom att lägga till inledande eller efterföljande mellanslag. Eller så kanske du behöver byta ut ett enda utrymme i strängen med många utrymmen. Hur som helst, MySQL har SPACE()
funktion för att hjälpa dig.
SPACE()
funktion är ett enkelt sätt för dig att returnera så många blanksteg du behöver.
Syntax
Så här går syntaxen till:
SPACE(N)
Där N
är antalet platser du behöver returnera. Så om du behöver 10 mellanslag använder du SPACE(10)
.
Exempel
Här är ett snabbt exempel för att visa hur SPACE()
fungerar:
SELECT CONCAT('Cherry', SPACE(8), 'Blossom') AS Result;
Resultat:
+-----------------------+ | Result | +-----------------------+ | Cherry Blossom | +-----------------------+
I det här fallet sammanfogar jag två strängar och lägger till 8 mellanslag mellan dem (så strikt sett sammanfogar jag faktiskt tre strängar). För att göra detta använder jag SPACE()
fungerar som ett av argumenten till CONCAT()
funktion.
Detta har samma resultat som att faktiskt skriva ut alla 8 blanksteg:
SELECT CONCAT('Cherry', ' ', 'Blossom') AS Result;
Resultat:
+-----------------------+ | Result | +-----------------------+ | Cherry Blossom | +-----------------------+
Skillnaden är att du inte behöver skriva ut alla dessa karaktärer. Plus att använda SPACE()
gör koden lättare att läsa.
Ett annat alternativ:REPEAT()-funktionen
Ett annat alternativ är att använda REPEAT()
fungera. Detta fungerar på samma sätt som SPACE()
förutom att REPEAT()
låter dig ange andra tecken (d.v.s. inte bara mellanslag).
SELECT CONCAT('Cherry', REPEAT(' ', 8), 'Blossom') AS Result;
Resultat:
+-----------------------+ | Result | +-----------------------+ | Cherry Blossom | +-----------------------+
Även om, som du kan se, kräver detta lite extra kod som du inte behöver ange när du använder SPACE()
fungera. Med det sagt kan det finnas tillfällen där REPEAT()
fungerar bättre för ett visst scenario.