sql >> Databasteknik >  >> RDS >> Mysql

Hur LPAD()-funktionen fungerar i MySQL

I MySQL, LPAD() funktionen låter dig fylla den vänstra 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:

LPAD(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å att fylla den vänstra delen av en sträng med asterisktecknet:

SELECT LPAD('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 en asterisk, kan vi göra detta:

SELECT LPAD('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 efter asterisken:

SELECT LPAD('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 LPAD('!', 15, 'Blah ') AS Result;

Resultat:

+-----------------+
| Result          |
+-----------------+
| Blah Blah Blah! |
+-----------------+

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 LPAD('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 
  LPAD('Cat', 6, 'Puddy '),
  LPAD('Cat', 2, 'Puddy ');

Resultat:

+--------------------------+--------------------------+
| LPAD('Cat', 6, 'Puddy ') | LPAD('Cat', 2, 'Puddy ') |
+--------------------------+--------------------------+
| PudCat                   | Ca                       |
+--------------------------+--------------------------+

Observera att dessa exempel endast är för demonstrationsändamål. I de flesta fall skulle du inte använda LPAD() 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 vänstra sida:

SELECT Genre, LPAD(Genre, 10, '.')
FROM Genres;

Resultat:

+---------+----------------------+
| Genre   | LPAD(Genre, 10, '.') |
+---------+----------------------+
| Rock    | ......Rock           |
| Jazz    | ......Jazz           |
| Country | ...Country           |
| Pop     | .......Pop           |
| Blues   | .....Blues           |
| Hip Hop | ...Hip Hop           |
| Rap     | .......Rap           |
| Punk    | ......Punk           |
+---------+----------------------+


  1. Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Exempel

  2. Beställ en MySQL-tabell med två kolumner

  3. Vilka är BIN$...-tabellerna i Oracles ALL_TAB_COLUMNS-tabell?

  4. Kod för att anropa en funktion i ett paket från C# och ODP.NET