SQL like ile belli bir karakterden sonra başlayan, belli karakterle başlayan veya başlamayan, aralarında bulunan karakterler gibi sorgularda ihtiyaç duyduğunuzda işinize fazlasıyla yarayacak olan bir bir özelliktir.
SQL LIKE Nedir, Örneklerle Nasıl Kullanılır?
Wildcard ile arama türleri
Kullanılabilecek wildcard türleri için alltaki tabloya gözatınız
Wildcard | Açıklama |
---|---|
% | sıfır veya daha fazla karakterler arasında işlem yapmak için kullanılır. |
_ | sorguda bir karakteri gözardı etmek için kullanılacak karakterdir. |
[karakterlistesi] | karakter listesinde belirttiğiniz karakterler ile eşleşen sorgular hazırlamak için kullanılır. |
[^karakterlistesi] veya [!karakterlistesi] | karakter listesi dışındaki karakterleri içeren sorgu sonuçları için kullanılabilir. |
Örnek veritabanı
MusteriID | MusteriAdi | IletisimAdi | Adres | Sehir | Posta Kodu | Ülke |
---|---|---|---|---|---|---|
1 | Murat ÖNER | İş | Kayapına mah. | Kocaeli | 41000 | Türkiye |
2 | Muhammed Emin Öztürkler | Ev | Şen Sok. | İstanbul | 34000 | Türkiye |
3 | Kasım Bozdemir | İş | Kahraman Sok. | Bursa | 16000 | Türkiye |
4 | Hakan Güner | İş | Selvi Sok. | Denizli | 20000 | Türkiye |
5 | Emrah Bektaş | Ev | Çiçek Sok. | Ankara | 06000 | Türkiye |
% Wildcard Kullanımı
İlk örneğimizde Like anahtar kelimesi ve ‘%’ işaretini sona ekleyerek şehir alanından ‘koc’ kelimesi ile başlayanları sıralayan kodu yazalım.
1 | SELECT * FROM Musteriler WHERE Sehir LIKE 'koc%'; |
Sorgu sonucu
Alttaki tabloda gördüğünüz gibi şehir alanında ‘koc’ kelimesi ile başlayan bir kayıt olduğu için aşağıdaki gibi bir sonuç gelmektedir.
MusteriID | MusteriAdi | IletisimAdi | Adres | Sehir | Posta Kodu | Ülke |
---|---|---|---|---|---|---|
1 | Murat ÖNER | İş | Kayapına mah. | Kocaeli | 41000 | Türkiye |
Not: Eğer sorguda aranacak alanın içerisinden arama yapmak istersekte ‘%koc%’ diyerek aranacak alan içerisindeki değerin herhangi bir yerinde koc kelimesi geçen tüm sonuçlar getirrilecektir.
_ Wildcard Kullanımı
Bu wildcard ile kullanılan yerdeki karakter gözardı edilip arama yapılabilir örnek ‘_enizli’ dediğimizde ilk karakteri önemli olmamakla beraber 1.karakterden sonrası ‘enizli’ olan tüm kayıtlar getirilecektir örnek kullanımı için aşağıdaki sorguya gözatabilirsiniz.
1 | SELECT * FROM Musteriler WHERE Sehir LIKE '_enizli'; |
Sorgu Sonucu
Üssteki sorgu sonucunda Sehir alanında 1.karakter gözardı edildikten sonra ‘enizli’ ile başlayan bir tek kayıt olduğu için aşağıdaki gibi bir sonuç çıkacaktır.
MusteriID | MusteriAdi | IletisimAdi | Adres | Sehir | Posta Kodu | Ülke |
---|---|---|---|---|---|---|
4 | Hakan Güner | İş | Selvi Sok. | Denizli | 20000 | Türkiye |
Aynı sorgu sonucu şu şekilde karmaşık olsada kullanıldığınıda örnekle görmüş olalım yerine göre ihtiyaç duyulabilecek bir sorgu türüdür. Aynı sorguyu yine 1.karakterler beraber 3. ve 6.karakteri gözardı ederek aynı sonuca ulaşabiliriz ihtiyaca göre nasıl bir arama gerçekleştirilecekse size kalmış bir durumdur.
1 | SELECT * FROM Musteriler WHERE Sehir LIKE '_e_iz_i'; |
[karakterlistesi] Wildcard kullanımı
Bu wildcard türüne örnek verecek olursak Sehir alanında k-i karakterleriyle başlayan kayıtları bulabilmek için [ki]% şeklinde bir wildcard kullanılmalıdır.
1 | SELECT * FROM Musteriler WHERE Sehir LIKE '[ki]%'; |
Sorgu Sonucu
MusteriID | MusteriAdi | IletisimAdi | Adres | Sehir | Posta Kodu | Ülke |
---|---|---|---|---|---|---|
1 | Murat ÖNER | İş | Kayapına mah. | Kocaeli | 41000 | Türkiye |
2 | Muhammed Emin Öztürkler | Ev | Şen Sok. | İstanbul | 34000 | Türkiye |
Not: Eğer yukarıdaki sorguda k-i karakterleriyle başlamayan kayıtların getirilmesini istersek not like [ki]%
şeklinde bir kullanım uygun olacaktır. Not like ifadesini diğer tüm wildcard’lar içinde kullanabilirsiniz. Bu arada uzun bir aralık belirtilecekse örnek olarak a ve k arasında karakterler gibi bir aralık belirtmeniz durumunda a’dan k’ya kadar olan karakterleri yazmaktansa [a-k] şeklinde bir kullanım işinizi dahada kolaylaştıracaktır.
📚 Diğer Sql Kaynakları
- Sql Server da Unutulan “sa” Şifresini 3 Farklı Yöntem ile Değiştirme
- SQL Server Üzerinden Windows Servisleri Yönetmek
- Sql Server COALESCE İfadesi Kullanımı
- SQL NULLIF Fonksiyonu Nedir ve Nasıl Kullanılır
✍ Sql Wildcard konulu makalemiz için lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.
🔗 Sql Wildcard konulu makalemizi sosyal medya kanallarından paylaşarak destek olursanız çok sevinirim.
👋 Bir sonraki makalede görüşmek dileğiyle.