sql >> Databasteknik >  >> RDS >> Mysql

Det enklaste sättet att lägga till flera utrymmen till en sträng i MySQL – SPACE()

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.


  1. Easysoft ODBC-drivrutiner och ODBCINST-biblioteket

  2. EF och TransactionScope för både SQL Server och Oracle utan att eskalera/spänna till DTC?

  3. oracle SQL plus hur man avslutar kommandot i SQL-fil?

  4. MySQL välj en kolumn DISTINCT, med motsvarande andra kolumner