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

Bagaimana LPAD() Bekerja di MariaDB

Di MariaDB, LPAD() adalah fungsi string bawaan yang mengisi bagian kiri string dengan sejumlah karakter tertentu.

Misalnya, Anda dapat menggunakan LPAD() untuk mengisi bagian kiri string dengan spasi. Atau Anda bisa mengisi angka dengan angka nol di depan.

Sintaks

Sintaksnya seperti ini:

LPAD(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 LPAD('Lion', 8);

Hasil:

+-----------------+
| LPAD('Lion', 8) |
+-----------------+
|     Lion        |
+-----------------+

Dalam hal ini, kami tidak menentukan argumen ketiga (untuk karakter padding), dan spasi digunakan. Karakter spasi adalah karakter default.

Tentukan Karakter Padding

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

SELECT LPAD('Lion', 8, '.');

Hasil:

+----------------------+
| LPAD('Lion', 8, '.') |
+----------------------+
| ....Lion             |
+----------------------+

Titik-titik memungkinkan kita untuk melihat padding lebih jelas.

Nomor Padding

Berikut ini contoh mengisi angka dengan nol:

SELECT LPAD(7, 3, 0);

Hasil:

+---------------+
| LPAD(7, 3, 0) |
+---------------+
| 007           |
+---------------+

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 LPAD('Lion', 2);

Hasil:

+-----------------+
| LPAD('Lion', 2) |
+-----------------+
| Li              |
+-----------------+

Contoh Basis Data

Berikut adalah contoh mengisi bagian kiri nilai dalam kolom database:

SELECT 
    LPAD(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          |
+-----------------+---------------+

Berikut contoh lain yang mengisi kolom harga:

SELECT 
    ProductId, 
    ProductPrice, 
    LPAD(ProductPrice, 8, 0) 
FROM Products;

Hasil:

+-----------+--------------+--------------------------+
| ProductId | ProductPrice | LPAD(ProductPrice, 8, 0) |
+-----------+--------------+--------------------------+
|         1 |        25.99 | 00025.99                 |
|         2 |        25.99 | 00025.99                 |
|         3 |        14.75 | 00014.75                 |
|         4 |        11.99 | 00011.99                 |
|         5 |        33.49 | 00033.49                 |
|         6 |       245.00 | 00245.00                 |
|         7 |        55.99 | 00055.99                 |
|         8 |         9.99 | 00009.99                 |
+-----------+--------------+--------------------------+

Argumen Null

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

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

Hasil:

+---------------------+---------------------------+--------------------------+
| LPAD(null, 10, '.') | LPAD('Coffee', null, '.') | LPAD('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 LPAD('', 0);

Hasil:

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

Sekarang mari kita beralih ke mode Oracle:

SET SQL_MODE=ORACLE;

Dan jalankan kembali kodenya:

SELECT LPAD('', 0);

Hasil:

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

Argumen Tidak Ada

Memanggil LPAD() tanpa setidaknya dua argumen menghasilkan kesalahan:

SELECT LPAD('Coffee');

Hasil:

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

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

SELECT LPAD();

Hasil:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memahami Pengaruh Latensi Tinggi pada Solusi MySQL dan MariaDB Ketersediaan Tinggi

  2. Perencanaan Pemulihan Bencana untuk MySQL &MariaDB

  3. Bagaimana Operator BINARY Bekerja di MariaDB

  4. MariaDB JSON_REMOVE() Dijelaskan

  5. MariaDB JSON_ARRAY() Dijelaskan