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

Padding dalam SQL

Beberapa RDBMS menyediakan LPAD() dan RPAD() fungsi yang memungkinkan kita untuk melakukan pad kiri atau pad kanan sebuah string. Beberapa fungsi juga memungkinkan kita untuk menambahkan angka nol di depan atau di belakang.

Di bawah ini adalah contoh penerapan padding SQL di beberapa RDBMS yang lebih populer.

Oracle

Oracle memberi kami LPAD() dan RPAD() khusus untuk mengisi bagian kiri atau kanan string:

SELECT LPAD('Cat', 20)
FROM DUAL;

Hasil:

         LPAD('CAT',20) 
_______________________ 
                 Cat    

Dalam hal ini saya menggunakan LPAD() untuk menerapkan padding kiri, dan string yang dihasilkan adalah 20 karakter, karena itulah yang saya gunakan untuk argumen kedua.

Hasilnya diisi oleh spasi, karena itulah karakter default yang digunakan untuk padding. Jika Anda tidak menentukan karakter mana yang akan diisi string, spasi akan digunakan.

Anda dapat menambahkan karakter ketiga untuk menentukan karakter mana yang akan digunakan untuk padding:

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

Hasil:

   LPAD('7',3,'0') 
__________________ 
007               

Dalam hal ini saya mengisi angka dengan nol (walaupun hasilnya adalah string).

Oracle juga memiliki TO_CHAR(number) fungsi yang dapat digunakan untuk menambahkan angka nol di depan suatu bilangan:

SELECT TO_CHAR(7, 'fm000')
FROM DUAL;

Hasil:

007

0 elemen format mewakili setiap digit dalam nomor asli, dan nol jika tidak ada digit di posisi itu di nomor asli.

PostgreSQL

PostgreSQL juga memiliki LPAD()-nya sendiri dan RPAD() fungsi:

SELECT 
    LPAD('7', 3, '0') AS "Left Padding",
    RPAD('7', 3, '0') AS "Right Padding",
    LPAD(RPAD('7', 3, '0'), 5, '0') AS "Both";

Hasil:

 Left Padding | Right Padding | Both  
--------------+---------------+-------
 007          | 700           | 00700

Dan juga memiliki TO_CHAR() . sendiri fungsi yang bekerja seperti fungsi Oracle dengan nama yang sama:

SELECT TO_CHAR(7, 'fm000');

Hasil:

007

MariaDB

MariaDB memiliki LPAD() dan RPAD() fungsi:

SELECT 
    LPAD('7', 3, '0') AS "Left Padding",
    RPAD('7', 3, '0') AS "Right Padding",
    LPAD(RPAD('7', 3, '0'), 5, '0') AS "Both";

Hasil:

+--------------+---------------+-------+
| Left Padding | Right Padding | Both  |
+--------------+---------------+-------+
| 007          | 700           | 00700 |
+--------------+---------------+-------+

Dan sementara MariaDB memang memiliki TO_CHAR() sendiri fungsi, itu tidak berfungsi pada angka (terbatas pada nilai datetime).

MySQL

MySQL juga memiliki LPAD() dan RPAD() fungsi.

Berikut ini contoh penggunaan LPAD() terhadap kolom database:

SELECT Genre, LPAD(Genre, 10, '.')
FROM Genres;

Hasil:

+---------+----------------------+
| Genre   | LPAD(Genre, 10, '.') |
+---------+----------------------+
| Rock    | ......Rock           |
| Jazz    | ......Jazz           |
| Country | ...Country           |
| Pop     | .......Pop           |
| Blues   | .....Blues           |
| Hip Hop | ...Hip Hop           |
| Rap     | .......Rap           |
| Punk    | ......Punk           |
+---------+----------------------+

SQL Server

SQL Server sedikit anomali karena tidak memiliki LPAD() atau RPAD() fungsi.

Namun, SQL Server memiliki FORMAT() fungsi yang memungkinkan kita untuk dengan mudah memasukkan angka dengan nol di depan:

SELECT FORMAT(7, '000');

Hasil:

007

Argumen kedua adalah string format numerik khusus yang menentukan berapa banyak karakter yang akan dimiliki string yang dihasilkan. Fakta bahwa saya menggunakan angka nol berarti bahwa hasilnya akan memiliki angka nol di depan jika diperlukan.

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

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

Hasil:

....Cat

Ada berbagai teknik lain yang dapat kita gunakan untuk menerapkan padding di SQL Server.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. C# driver untuk MongoDb:bagaimana cara menggunakan limit+count?

  2. DropIndex MongoDB()

  3. Kinerja ClusterControl dan Pemantauan Kesehatan

  4. Metode pencarian luwak dengan $or condition tidak berfungsi dengan baik

  5. Bagaimana cara menjalankan skrip MongoDB js menggunakan Java MongoDriver