MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak RPAD() działa w MariaDB

W MariaDB, RPAD() jest wbudowaną funkcją ciągu, która dopełnia prawą część ciągu określoną liczbą określonego znaku.

Na przykład możesz użyć RPAD() do wypełnienia prawej części sznurka kropkami.

Składnia

Składnia wygląda tak:

RPAD(str, len [, padstr])

Gdzie str jest ciągiem do wypełnienia, a len to liczba znaków do uzupełnienia ciągu. Zwróć uwagę, że nie jest to ilość samego dopełnienia, a raczej całkowita liczba znaków, które będzie miał zwrócony ciąg po uzupełnieniu.

padstr jest opcjonalnym argumentem, który określa, którego znaku użyć do wypełnienia.

Przykład

Oto podstawowy przykład:

SELECT 
    RPAD('Fire', 8) AS "1",
    RPAD('Fire', 15) AS "2",
    'Fire' AS "3";

Wynik:

+----------+-----------------+------+
| 1        | 2               | 3    |
+----------+-----------------+------+
| Fire     | Fire            | Fire |
+----------+-----------------+------+

Spacja jest znakiem domyślnym. Dlatego jeśli nie podasz trzeciego argumentu, zostanie użyta spacja. W tym przypadku nie podaliśmy trzeciego argumentu, więc użyliśmy spacji.

Ten przykład zwraca trzy kolumny. Zrobiłem to, aby ułatwić Ci zobaczenie efektu RPAD() jaśniej. Wypełnienie powoduje wypchnięcie szerokości kolumny do określonej długości wypełnienia.

W tym przypadku pierwsze dwie kolumny używają dwóch różnych długości wypełnienia, a trzecia jest oryginalnym (niewypełnionym) ciągiem.

Określ znak wypełniający

Oto przykład z trzecim argumentem. To określa, jakiego znaku użyć do wypełnienia:

SELECT RPAD('Fire', 15, '.');

Wynik:

+-----------------------+
| RPAD('Fire', 15, '.') |
+-----------------------+
| Fire...........       |
+-----------------------+

Kropki pozwalają nam wyraźniej zobaczyć wypełnienie.

Dopełnienie mniejsze niż oryginalny ciąg

Jeśli drugi argument jest mniejszy niż oryginalny ciąg, nie jest dodawane żadne uzupełnienie, a oryginalny ciąg jest skracany do określonej liczby znaków:

SELECT RPAD('Enlightenment', 7);

Wynik:

+--------------------------+
| RPAD('Enlightenment', 7) |
+--------------------------+
| Enlight                  |
+--------------------------+

Przykład bazy danych

Oto przykład wypełnienia prawej części wartości w kolumnie bazy danych:

SELECT 
    RPAD(PetName, 15, '.') AS "Padded Name",
    PetName AS "Original Name"
FROM Pets;

Wynik:

+-----------------+---------------+
| Padded Name     | Original Name |
+-----------------+---------------+
| Fluffy......... | Fluffy        |
| Fetch.......... | Fetch         |
| Scratch........ | Scratch       |
| Wag............ | Wag           |
| Tweet.......... | Tweet         |
| Fluffy......... | Fluffy        |
| Bark........... | Bark          |
| Meow........... | Meow          |
+-----------------+---------------+

Argumenty zerowe

Jeśli którykolwiek (lub wszystkie) argumenty są null , RPAD() funkcja zwraca null :

SELECT 
    RPAD(null, 10, '.'),
    RPAD('Coffee', null, '.'),
    RPAD('Coffee', 10, null);

Wynik:

+---------------------+---------------------------+--------------------------+
| RPAD(null, 10, '.') | RPAD('Coffee', null, '.') | RPAD('Coffee', 10, null) |
+---------------------+---------------------------+--------------------------+
| NULL                | NULL                      | NULL                     |
+---------------------+---------------------------+--------------------------+

Tryb Oracle

Kiedy nie działa w trybie Oracle, jeśli wynik jest pusty (tj. ma długość równą zero), wynikiem jest pusty ciąg.

Jednak podczas pracy w trybie Oracle wynik to null .

Tutaj jest w trybie domyślnym (tzn. nie w trybie Oracle):

SELECT RPAD('', 0);

Wynik:

+-------------+
| RPAD('', 0) |
+-------------+
|             |
+-------------+

Przejdźmy teraz do trybu Oracle:

SET SQL_MODE=ORACLE;

I uruchom kod ponownie:

SELECT RPAD('', 0);

Wynik:

+-------------+
| RPAD('', 0) |
+-------------+
| NULL        |
+-------------+

Brakujące argumenty

Wywołanie RPAD() bez co najmniej dwóch argumentów powoduje błąd:

SELECT RPAD('Coffee');

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'RPAD'

To samo dzieje się podczas wywoływania RPAD() bez żadnych argumentów:

SELECT RPAD();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'RPAD'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcje numeryczne MariaDB (pełna lista)

  2. Jak COS() działa w MariaDB

  3. Jak działa operator binarny w MariaDB

  4. MySQL vs MariaDB vs Percona Server:porównanie funkcji bezpieczeństwa

  5. Wprowadzenie do administracji MaxScale Korzystanie z maxctrl dla klastra MariaDB