SQL - Operator Wildcard
Kami telah membahas tentang operator SEPERTI SQL, yang digunakan untuk membandingkan nilai dengan nilai yang serupa menggunakan operator wildcard.
SQL mendukung dua operator wildcard dalam hubungannya dengan operator LIKE yang dijelaskan secara rinci dalam tabel berikut.
Sr.No. | Karakter Pengganti & Deskripsi |
---|---|
1 | The percent sign (%) Cocok dengan satu atau lebih karakter. Note - MS Access menggunakan karakter wildcard asterisk (*) sebagai ganti karakter wildcard tanda persen (%). |
2 | The underscore (_) Cocok dengan satu karakter. Note - MS Access menggunakan tanda tanya (?) Dan bukan garis bawah (_) untuk mencocokkan salah satu karakter. |
Tanda persen mewakili nol, satu atau beberapa karakter. Garis bawah mewakili satu angka atau karakter. Simbol-simbol ini dapat digunakan dalam kombinasi.
Sintaksis
Sintaks dasar dari operator '%' dan '_' adalah sebagai berikut.
SELECT * FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT * FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT * FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT * FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT * FROM table_name
WHERE column LIKE '_XXXX_'
Anda dapat menggabungkan jumlah N kondisi menggunakan operator DAN atau ATAU. Di sini, XXXX bisa berupa nilai numerik atau string apa pun.
Contoh
Tabel berikut memiliki sejumlah contoh yang menunjukkan bagian WHERE memiliki klausa LIKE yang berbeda dengan operator '%' dan '_'.
Sr.No. | Pernyataan & Deskripsi |
---|---|
1 | WHERE SALARY LIKE '200%' Menemukan nilai apa pun yang dimulai dengan 200. |
2 | WHERE SALARY LIKE '%200%' Menemukan nilai apa pun yang memiliki 200 di posisi mana pun. |
3 | WHERE SALARY LIKE '_00%' Menemukan nilai apa pun yang memiliki 00 di posisi kedua dan ketiga. |
4 | WHERE SALARY LIKE '2_%_%' Menemukan nilai apa pun yang dimulai dengan 2 dan setidaknya memiliki panjang 3 karakter. |
5 | WHERE SALARY LIKE '%2' Menemukan nilai apa pun yang diakhiri dengan 2. |
6 | WHERE SALARY LIKE '_2%3' Menemukan nilai apa pun yang memiliki 2 di posisi kedua dan diakhiri dengan 3. |
7 | WHERE SALARY LIKE '2___3' Menemukan nilai apa pun dalam angka lima digit yang dimulai dengan 2 dan diakhiri dengan 3. |
Mari kita ambil contoh nyata, pertimbangkan tabel CUSTOMERS yang memiliki record berikut.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Blok kode berikut adalah contoh, yang akan menampilkan semua catatan dari tabel PELANGGAN di mana GAJI dimulai dengan 200.
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
Ini akan menghasilkan hasil sebagai berikut.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+