MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana RPAD() Bekerja di MariaDB

Di MariaDB, RPAD() adalah fungsi string bawaan yang melapisi bagian kanan string dengan sejumlah karakter tertentu.

Misalnya, Anda dapat menggunakan RPAD() untuk melapisi bagian kanan string dengan titik-titik.

Sintaks

Sintaksnya seperti ini:

RPAD(str, len [, padstr])

Dimana str adalah string untuk pad, dan len adalah jumlah karakter untuk memasukkan string. Perhatikan bahwa ini bukan jumlah padding itu sendiri, melainkan jumlah total karakter yang akan dimiliki string yang dikembalikan setelah diisi.

padstr adalah argumen opsional yang menentukan karakter mana yang akan digunakan untuk padding.

Contoh

Berikut ini contoh dasarnya:

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

Hasil:

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

Karakter spasi adalah karakter default. Oleh karena itu, jika Anda tidak menyertakan argumen ketiga, spasi digunakan. Dalam hal ini, kami tidak menentukan argumen ketiga, sehingga spasi digunakan.

Contoh ini mengembalikan tiga kolom. Saya melakukan itu untuk memudahkan Anda melihat efek RPAD() lebih jelas. Padding memiliki efek mendorong lebar kolom ke panjang padding yang ditentukan.

Dalam hal ini, dua kolom pertama menggunakan dua panjang padding yang berbeda, dan yang ketiga adalah string asli (tidak diisi).

Tentukan Karakter Padding

Berikut adalah contoh yang menggunakan argumen ketiga. Ini menentukan karakter apa yang akan digunakan untuk padding:

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

Hasil:

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

Titik-titik memungkinkan kita untuk melihat padding lebih jelas.

Padding Lebih Kecil dari String Asli

Jika argumen kedua kurang dari string asli, maka tidak ada padding yang ditambahkan, dan string asli dipersingkat menjadi jumlah karakter yang ditentukan:

SELECT RPAD('Enlightenment', 7);

Hasil:

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

Contoh Basis Data

Berikut ini contoh padding bagian kanan nilai dalam kolom database:

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

Hasil:

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

Argumen Null

Jika salah satu (atau semua) argumen adalah null , RPAD() fungsi mengembalikan null :

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

Hasil:

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

Mode Oracle

Ketika tidak berjalan dalam mode Oracle, jika hasilnya kosong (yaitu memiliki panjang nol) hasilnya adalah string kosong.

Namun, saat dijalankan dalam mode Oracle, hasilnya adalah null .

Ini dia dalam mode default (yaitu tidak dalam mode Oracle):

SELECT RPAD('', 0);

Hasil:

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

Sekarang mari kita beralih ke mode Oracle:

SET SQL_MODE=ORACLE;

Dan jalankan kembali kodenya:

SELECT RPAD('', 0);

Hasil:

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

Argumen Tidak Ada

Memanggil RPAD() tanpa setidaknya dua argumen menghasilkan kesalahan:

SELECT RPAD('Coffee');

Hasil:

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

Hal yang sama terjadi saat memanggil RPAD() tanpa argumen:

SELECT RPAD();

Hasil:

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. Menyebarkan Database dan Cluster yang Sangat Tersedia dengan ClusterControl

  2. MariaDB JSON_ARRAY_INSERT() Dijelaskan

  3. Memantau Kinerja MariaDB di Cloud Hibrida

  4. TAMPILKAN TABEL di MariaDB

  5. 4 Cara Menemukan Baris yang Mengandung Huruf Kecil di MariaDB