sql >> Database teknologi >  >> RDS >> Mysql

Sådan fungerer LPAD()-funktionen i MySQL

I MySQL er LPAD() funktionen giver dig mulighed for at udfylde den venstre del af en streng med et eller flere tegn.

Den måde, det fungerer på, er, at du angiver strengen til polstring, længden af ​​polstringen samt strengen af ​​tegn, der skal bruges til udfyldningen.

Syntaks

Syntaksen ser sådan ud:

LPAD(str,len,padstr)

Hvor str er strengen, der skal udfyldes, len er den ønskede længde af strengen i tegn efter al udfyldning er blevet anvendt, og padstr er den streng, den skal polstres med.

Eksempel 1 – Grundlæggende brug

Her er et eksempel på udfyldning af den venstre del af en streng med stjernetegnet:

SELECT LPAD('Cat', 6, '*') AS Result;

Resultat:

+--------+
| Result |
+--------+
| ***Cat |
+--------+

I dette eksempel er det andet argument 6 , hvilket betyder, at hele strengen skal ende med at være 6 tegn lang, efter at al polstring er påført. Det tredje argument angiver, hvilket tegn der skal bruges til udfyldningen.

Så i dette tilfælde, hvis vi kun vil have én stjerne, kan vi gøre dette:

SELECT LPAD('Cat', 4, '*') AS Result;

Resultat:

+--------+
| Result |
+--------+
| *Cat   |
+--------+

Eksempel 2 – Flere tegn

Du er ikke begrænset til kun en enkelt karakter. Du kan fylde en streng med et vilkårligt antal tegn.

For eksempel kunne vi tage det forrige eksempel og tilføje et mellemrum efter stjernen:

SELECT LPAD('Cat', 5, '* ') AS Result;

Resultat:

+--------+
| Result |
+--------+
| * Cat  |
+--------+

Bemærk, at vi også øgede antallet af tegn til 5 for at rumme det ekstra tegn.

Her er et andet eksempel med forskellige tegn:

SELECT LPAD('!', 15, 'Blah ') AS Result;

Resultat:

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

Eksempel 3 – Andet argument er for lille

Hvis værdien af ​​det andet argument er for lille, kan du ende med ingen udfyldning:

SELECT LPAD('Cat', 3, '*') AS Result;

Resultat:

+--------+
| Result |
+--------+
| Cat    |
+--------+

I andre tilfælde kan du ende med, at polstringsstrengen bliver klippet kort, eller du kan endda klippe den originale streng kort:

SELECT 
  LPAD('Cat', 6, 'Puddy '),
  LPAD('Cat', 2, 'Puddy ');

Resultat:

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

Bemærk, at disse eksempler kun er til demonstrationsformål. I de fleste tilfælde ville du ikke bruge LPAD() blot at forbinde to ord sammen. For at gøre det er det bedre at bruge CONCAT() i stedet.

Eksempel 4 – Et databaseeksempel

Her er et eksempel på valg af data fra en database og udfyldning på dens venstre side:

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. Postgres SSLMode-værdi kræver ugyldig, når SSL-understøttelse ikke er kompileret ved hjælp af udenlandsk dataindpakning

  2. Sådan konverteres en streng til en dato/tid i SQL Server ved hjælp af CAST()

  3. Oracle JDBC intermitterende forbindelsesproblem

  4. indstil tom adgangskode for PostgreSQL-bruger