sql >> Database >  >> RDS >> Mysql

Hoe een string te vullen met voor-/achtervolgende karakters in MySQL – LPAD(), RPAD()

Soms moet je een string opvullen met spaties. Of misschien vul je het met een ander personage. Soms moet je het aan de linkerkant invullen. Andere keren moet je het aan de rechterkant invullen. Of misschien moet je het aan beide kanten opvullen.

Al het bovenstaande kan in MySQL worden gedaan met behulp van de LPAD() en/of RPAD() tekenreeksfuncties.

Syntaxis

De syntaxis van elk van deze functies gaat als volgt:

LPAD(str,len,padstr)
RPAD(str,len,padstr)

Waar str is de string die moet worden opgevuld, len is de gewenste lengte van de tekenreeks in tekens nadat alle opvulling is toegepast, en padstr is de tekenreeks om het mee op te vullen.

Voorbeeld – LPAD()

Hier is een voorbeeld van het opvullen van de linkerkant van een tekenreeks:

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

Resultaat:

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

In dit voorbeeld vullen we de string in met het asterisk-teken (* ). We specificeren ook 6 , wat betekent dat de hele string uiteindelijk 6 tekens lang moet zijn nadat alle opvulling is toegepast.

Dus als we de 6 . veranderen om te zeggen, 10 , dit is wat er gebeurt:

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

Resultaat:

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

Voorbeeld – RPAD()

De RPAD() functie werkt precies hetzelfde als LPAD() , met de uitzondering dat het de tekens aan de rechts toevoegt kant van de string:

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

Resultaat:

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

Voorbeeld – Beide

U kunt beide functies samen gebruiken om een ​​string aan beide zijden op te vullen. Om dit te doen, geeft u eenvoudig de ene functie door aan de andere als argument.

Zoals dit:

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

Resultaat:

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

Meerdere tekens

Je bent niet beperkt tot slechts een enkel teken. U kunt een string met een willekeurig aantal tekens opvullen. Hier is een voorbeeld:

SELECT RPAD('She Loves Me ', 30, 'Yeah! ') AS Result;

Resultaat:

+--------------------------------+
| Result                         |
+--------------------------------+
| She Loves Me Yeah! Yeah! Yeah! |
+--------------------------------+


  1. Hoe weet ik of een database van hoge kwaliteit is?

  2. SQL-filtercriteria in join-criteria of waar-clausule die efficiënter is

  3. Wat is het gebruik van de DECODE-functie in SQL?

  4. Hoe meerdere databases te verbinden in PHP, MYSQLi &PDO