SQL Wildcards Nedir? Kullanımı Nasıldır? Örneklerle Anlatım
08.02.2021 11:14 3387 Görüntülendi

SQL Wildcards Nedir? Kullanımı Nasıldır? Örneklerle Anlatım

SQL Wildcard(Joker) Karakterleri

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.

Ms Access’te 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] 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