Bir dizedeki bir veya daha fazla karakteri değiştirmek için joker karakteri kullanılır.
Wildcard(Joker) karakterler; SQL LIKE komutu ile kullanılır. LIKE komutu, bir sütundaki belirli bir modeli aramak için BİR WHERE koşulu kullanır.
Sembol |
Açıklama |
Örnek |
* |
Sıfır veya daha fazla karakteri temsil eder |
Bl* ifadesi bl, blue,Black ve blob bulur. |
? |
Tek bir karakteri temsil eder |
H?t ifadesi hit,hot,hat bulur. |
[] |
Parantez içindeki herhangi bir karakteri temsil eder. |
H[oa]t ifadesi hot and hat |
! |
Parantez içinde olmayan herhangi bir karakteri temsil eder. |
H[!oa]t ifadesi hit bulur. Ama hot and hat bulmaz |
- |
Bir dizi karakteri temsil eder. |
C[a-b] ifadesi cat and cbt bulur. |
# |
Herhangi bir tek sayısal karakteri temsil eder. |
2#5 ifadesi 205, 215 225, 235, 245, … bulur. |
SQL Server’da Wildcard(Joker) karakterleri
Sembol |
Açıklama |
Örnek |
% |
Sıfır veya daha fazla karakteri temsil eder |
Bl* ifadesi bl, blue,Black ve blob bulur. |
_ |
Tek bir karakteri temsil eder |
H_t ifadesi hit,hot,hat bulur. |
[] |
Parantez içindeki herhangi bir karakteri temsil eder. |
H[oa]t ifadesi hot and hat |
^ |
Parantez içinde olmayan herhangi bir karakteri temsil eder. |
H[^oa]t ifadesi hit bulur. Ama hot and hat bulmaz |
- |
Bir dizi karakteri temsil eder. |
C[a-b]t ifadesi cat and cbt bulur. |
Tüm joker karakterleri kombinasyon halinde yazılabilir.
Aşağıda farklı LIKE komutlarını ‘% ‘ ve ’_’ joker karakterleriyle gösteren örnekler verilmiştir.
LIKE Operatör |
Açıklama |
WHERE Ad LIKE 'a%' |
‘A’ ile başlayan tüm verileri bulur. |
WHERE Ad LIKE '%a' |
‘A’ ile biten bütün değerleri bulur. |
WHERE Ad LIKE '%ra%' |
Herhangi bir konumda ‘Ra’ bulunan değerleri bulur |
WHERE Ad LIKE '_r%' |
İkinci harfi ’R’ olan değerleri bulur |
WHERE Ad LIKE 'a_%_%' |
‘A’ ile başlayan en az 3 karakter uzunluğunda olan değerleri bulur. |
WHERE Ad LIKE 'a%o' |
‘A’ ile başlayıp ‘o’ ile biten tüm değerleri bulur. |
Örnek veritabanı üzerinde kullanalım.
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Newcastle |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
New York |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Pekin |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
% Wildcard() Karakteri Kullanımına Örnek
Aşağıdaki SQL ifadesi, “N” ile başlayan Şehri olan müşterileri seçer.
SELECT * FROM Musteriler
WHERE Sehir LIKE 'N%';
Aşağıdaki SQL ifadesi, “an” kalıbını içeren Müşteri Adlarını seçer.
SELECT * FROM Musteriler
WHERE AD LIKE '%an%';
“_” Wildcard(Joker) karakteri kullanımı:
Aşağıdaki SQL deyimi, herhangi bir karakterle başlayan ve ardından "ekin" ile başlayan bir Şehre sahip tüm müşterileri seçer:
SELECT * FROM Musteriler
WHERE Sehir LIKE '_ekin';
[Charlist] Joker Karakteri kullanımı:
Aşağıdaki SQL ifadesi, “f”, ”g” veya “o” ile Adı başlayan müşterileri bulur
SELECT * FROM Musteriler
WHERE AD LIKE '[fgo]%';
Aşağıdaki SQL ifadesi, "a" dan e ye kadar olan harflerle başlayan Şehirlere sahip olan tüm müşterileri seçer
SELECT * FROM Musteriler
WHERE Sehir LIKE '[a-e]%';
[!Charlist] Joker Karakteri kullanımı:
Aşağıdaki SQL ifadesi, “f”, ”g” veya “o” ile Adı başlayan müşteriler dışındakileri listeler.
SELECT * FROM Musteriler
WHERE Sehir LIKE '[!fgo]%';
İçerik: YUSUF ERDOĞAN