SQL - Joker Karakter Operatörleri

Joker karakter operatörlerini kullanarak bir değeri benzer değerlerle karşılaştırmak için kullanılan SQL LIKE operatörü hakkında daha önce tartışmıştık.

SQL, aşağıdaki tabloda ayrıntılı olarak açıklanan LIKE operatörü ile birlikte iki joker karakter operatörünü destekler.

Sr.No. Joker Karakter ve Açıklama
1

The percent sign (%)

Bir veya daha fazla karakterle eşleşir.

Note - MS Access, yüzde işareti (%) joker karakteri yerine yıldız (*) joker karakterini kullanır.

2

The underscore (_)

Bir karakterle eşleşir.

Note - MS Access, herhangi bir karakteri eşleştirmek için alt çizgi (_) yerine soru işareti (?) Kullanır.

Yüzde işareti sıfır, bir veya birden çok karakteri temsil eder. Alt çizgi, tek bir sayıyı veya bir karakteri temsil eder. Bu semboller kombinasyonlarda kullanılabilir.

Sözdizimi

Bir '%' ve bir '_' operatörünün temel sözdizimi aşağıdaki gibidir.

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_'

AND veya OR operatörlerini kullanarak N sayıda koşulu birleştirebilirsiniz. Burada XXXX, herhangi bir sayısal değer veya dize değeri olabilir.

Misal

Aşağıdaki tabloda, '%' ve '_' operatörleriyle farklı LIKE yan tümceleri olan WHERE bölümünü gösteren birkaç örnek vardır.

Sr.No. Açıklama ve Açıklama
1

WHERE SALARY LIKE '200%'

200 ile başlayan tüm değerleri bulur.

2

WHERE SALARY LIKE '%200%'

Herhangi bir konumda 200 olan değerleri bulur.

3

WHERE SALARY LIKE '_00%'

İkinci ve üçüncü konumlarda 00 olan tüm değerleri bulur.

4

WHERE SALARY LIKE '2_%_%'

2 ile başlayan ve en az 3 karakter uzunluğunda olan tüm değerleri bulur.

5

WHERE SALARY LIKE '%2'

2 ile biten tüm değerleri bulur.

6

WHERE SALARY LIKE '_2%3'

İkinci konumda 2 olan ve 3 ile biten değerleri bulur.

7

WHERE SALARY LIKE '2___3'

2 ile başlayan ve 3 ile biten beş basamaklı bir sayıdaki tüm değerleri bulur.

Gerçek bir örnek alalım, aşağıdaki kayıtların bulunduğu MÜŞTERİLER tablosunu ele alalım.

+----+----------+-----+-----------+----------+
| 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 |
+----+----------+-----+-----------+----------+

Aşağıdaki kod bloğu, MAAŞ'ın 200 ile başladığı MÜŞTERİLER tablosundaki tüm kayıtları görüntüleyen bir örnektir.

SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';

Bu, aşağıdaki sonucu verecektir.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
+----+----------+-----+-----------+----------+