MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

SQL LPAD()

Dalam SQL, LPAD() adalah fungsi yang umum digunakan yang melapisi bagian kiri string dengan karakter tertentu. Fungsi ini dapat digunakan pada string dan angka, meskipun tergantung pada DBMS, angka mungkin harus dilewatkan sebagai string sebelum dapat diisi.

DBMS yang memiliki LPAD() fungsi termasuk MySQL, MariaDB, PostgreSQL, dan Oracle.

DBMS yang tidak memiliki LPAD() fungsi termasuk SQL Server dan SQLite (walaupun ada cara lain untuk menerapkan padding kiri di DBMS ini).

Contoh

Berikut adalah contoh untuk mendemonstrasikan cara menggunakan LPAD() dalam kode SQL Anda:

SELECT LPAD('Look Left', 20);

Hasil:

+-----------------------+
| LPAD('Look Left', 20) |
+-----------------------+
|            Look Left  |
+-----------------------+

Dalam contoh ini, bagian kiri string diisi dengan spasi (karakter pengisi default), dan string yang dihasilkan panjangnya 20 karakter (karena saya menetapkan 20 sebagai argumen kedua).

Oracle bekerja dengan cara yang sama, tetapi kita perlu menggunakan FROM DUAL saat melakukan kueri seperti ini (tanpa menanyakan tabel yang sebenarnya):

SELECT LPAD('Look Left', 20) 
FROM DUAL;

Hasil:

    LPAD('LOOKLEFT',20) 
_______________________ 
           Look Left   

Tentukan Karakter Padding

Padding tidak harus berupa ruang. Secara opsional, kita dapat menambahkan argumen ketiga untuk menentukan karakter (atau karakter) yang akan digunakan dalam padding.

SELECT LPAD('7', 3, '0');

Hasil:

007

Dalam hal ini saya mengisi angka dengan nol. Sebenarnya, saya memberikan nomor sebagai string dalam contoh ini.

Di beberapa DBMS (seperti MariaDB dan MySQL) kita dapat memberikan nomor sebagai nomor, serta nomor untuk diisi dengan:

SELECT LPAD(7, 3, 0);

Hasil:

007

Kami juga dapat melakukan ini di Oracle:

SELECT LPAD(7, 3, 0) 
FROM DUAL;

Hasil:

007

Tetapi PostgreSQL memiliki masalah dengan ini:

SELECT LPAD(7, 3, 0);

Hasil:

ERROR:  function lpad(integer, integer, integer) does not exist

SQL Server

SQL Server tidak memiliki LPAD() fungsi, tetapi memiliki FORMAT() fungsi yang memungkinkan kita untuk memasukkan angka dengan angka nol di depan:

SELECT FORMAT(7, '000');

Hasil:

007

Cara kerjanya adalah kita melewati nomor, diikuti dengan string format. Pada contoh di atas, format string adalah 000 . Ini adalah string format numerik khusus yang menghasilkan nomor asli yang diisi sehingga hasilnya terdiri dari tiga digit. Jika belum ada tiga digit di nomor aslinya, maka diisi dengan nol.

Untuk meninggalkan string pad di SQL Server, kita dapat melakukan sesuatu seperti ini:

SELECT RIGHT('.......' + 'Cat', 7);

Hasil:

....Cat

Ada juga beberapa ekuivalen LPAD() lainnya di SQL Server.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Masukkan kriteria pencocokan Elemen Array dalam dokumen MongoDB?

  2. Bagaimana cara menghapus dokumen yang direferensikan oleh id di mongoDB dari php?

  3. Cluster MongoDB Berkinerja Tinggi di Azure

  4. Perbarui objek array berdasarkan id?

  5. MongoDB Menggunakan Sharding dengan Operator Agregasi $lookup