sql >> Database >  >> RDS >> Mysql

Hoe de RPAD()-functie werkt in MySQL

In MySQL is de RPAD() Met deze functie kunt u het rechtergedeelte van een tekenreeks opvullen met een of meer tekens.

De manier waarop het werkt, is dat u de tekenreeks opgeeft die moet worden ingevuld, de lengte van de opvulling en de tekenreeks die voor de opvulling moet worden gebruikt.

Syntaxis

De syntaxis gaat als volgt:

RPAD(str,len,padstr)

Waar str is de tekenreeks die moet worden ingevuld, 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 1 – Basisgebruik

Hier is een voorbeeld van het opvullen van het rechtergedeelte van een tekenreeks met een uitroepteken:

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

Resultaat:

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

In dit voorbeeld is het tweede argument 6 , wat betekent dat de hele string uiteindelijk 6 tekens lang moet zijn nadat alle opvulling is toegepast. Het derde argument specificeert welk teken moet worden gebruikt voor de opvulling.

Dus in dit geval, als we maar één uitroepteken willen, kunnen we dit doen:

SELECT RPAD('Cat', 4, '!') AS Result;

Resultaat:

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

Voorbeeld 2 – Meerdere tekens

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

We kunnen bijvoorbeeld het vorige voorbeeld nemen en een spatie toevoegen voor het uitroepteken:

SELECT RPAD('Cat', 5, ' !') AS Result;

Resultaat:

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

Merk op dat we ook het aantal tekens hebben verhoogd tot 5 om plaats te bieden aan het extra karakter.

Hier is nog een voorbeeld waarin verschillende tekens worden gebruikt:

SELECT RPAD('Dog', 7, 'gone') AS Result;

Resultaat:

+---------+
| Result  |
+---------+
| Doggone |
+---------+

Voorbeeld 3 – Tweede argument is te klein

Als de waarde van het tweede argument te klein is, kan het zijn dat u geen opvulling krijgt:

SELECT RPAD('Cat', 3, '!') AS Result;

Resultaat:

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

In andere gevallen zou je kunnen eindigen met het afknippen van de opvulstring, of zelfs de originele string kort:

SELECT 
  RPAD('Dog', 6, 'gone'),
  RPAD('Dog', 2, 'gone');

Resultaat:

+------------------------+------------------------+
| RPAD('Dog', 6, 'gone') | RPAD('Dog', 2, 'gone') |
+------------------------+------------------------+
| Doggon                 | Do                     |
+------------------------+------------------------+

Merk op dat deze voorbeelden alleen voor demonstratiedoeleinden zijn. In de meeste gevallen zou u RPAD() . niet gebruiken om eenvoudig twee woorden samen te voegen. Om dat te doen, kunt u beter CONCAT() . gebruiken in plaats daarvan.

Voorbeeld 4 – Een databasevoorbeeld

Hier is een voorbeeld van het selecteren van gegevens uit een database en deze aan de rechterkant opvullen:

SELECT ArtistName, RPAD(ArtistName, 20, '.')
FROM Artists;

Resultaat:

+------------------------+---------------------------+
| ArtistName             | RPAD(ArtistName, 20, '.') |
+------------------------+---------------------------+
| Iron Maiden            | Iron Maiden.........      |
| AC/DC                  | AC/DC...............      |
| Allan Holdsworth       | Allan Holdsworth....      |
| Buddy Rich             | Buddy Rich..........      |
| Devin Townsend         | Devin Townsend......      |
| Jim Reeves             | Jim Reeves..........      |
| Tom Jones              | Tom Jones...........      |
| Maroon 5               | Maroon 5............      |
| The Script             | The Script..........      |
| Lit                    | Lit.................      |
| Black Sabbath          | Black Sabbath.......      |
| Michael Learns to Rock | Michael Learns to Ro      |
| Carabao                | Carabao.............      |
| Karnivool              | Karnivool...........      |
| Birds of Tokyo         | Birds of Tokyo......      |
| Bodyjar                | Bodyjar.............      |
+------------------------+---------------------------+


  1. SQL-instructie negeert waar parameter

  2. Postgres pg_dump dumpt database elke keer in een andere volgorde

  3. Versnel to_sql() bij het schrijven van Pandas DataFrame naar Oracle-database met behulp van SqlAlchemy en cx_Oracle

  4. Wat is het tegenovergestelde van GROUP_CONCAT in MySQL?