- LIKE ifadesi sütundaki değerlerin, joker karakterler kullanılarak oluşturduğumuz bir arama koşulu ile karşılaştırılmasını sağlar.
- Sadece LIKE ile kullanılabilen joker karakterler aslında bir veya daha fazla karakter yerine kullanılır.
- Belirli aralıklardaki belli harflerle başlayan veya biten değerler için joker karakterler kullanılır.
Joker Karakterler | Açıklama |
---|---|
% | Birden fazla harf ya da rakamın yerini tutar. |
_ | Bir tek harf veya rakamın yerini tutar. |
[HARF] | Herhangi bir harf yerine gelebilecek harfleri belirtir. |
[^HARF] | Herhangi bir harf yerine gelemeyecek harfleri belirtir. |
[A-Z] | A ile Z arasındaki harfleri belirtir. |
- Örneğin northwind veritabanımızda Customers tablosundaki müşterilerden ismi 'D' ile başlayanları listeleyelim.
Sorgu: SELECT * FROM Customers WHERE ContactName LIKE 'D%'
Mesela bazen arayacağınız tabloda ismi hatırladınız soyadı hatırlayamadınız bu durumda LIKE sorgusunu aşağıdaki gibi kullanmak size avantaj sağlayacaktır.
İçinde Roel geçen bütün ContactName'leri görerek aradığımız veriye ulaşabiliriz.
Sorgu: SELECT * FROM Customers WHERE ContactName LIKE '%Roel%'
Örnek arama koşulları;
LIKE ‘REST%’ İlk 4 harfi REST olan tüm kayıtlar
LIKE ‘Br%’ İlk iki harfi Br olan tüm kayıtlar
LIKE ‘%een’ Son üç harfi een olan tüm kayıtlar
LIKE ‘%en%’ İçerisinde en ifadesi geçen tüm kayıtlar
LIKE ‘_en’ Son iki harfi en olan üç harften oluşan tüm kayıtlar
LIKE ‘[CK]%’ C veya K harfleriyle başlayan tüm kayıtlar
LIKE ‘[S-V]ing' ing ile biten ve ilk harfi S ile V harfleri arasında olan
dört harfli herhangi kelime
LIKE ‘M[^m]%’ M ile başlayan ikinci harfi m olmayan tüm kayıtlar
Ders-8 'e geçebilirsiniz.
SELECT [ID], [Ad], [Soyad], [TelefonNumarasi] FROM [Kullanicilar]
YanıtlaSilWHERE (Ad=@Ad) OR (Soyad=@Soyad) OR (TelefonNumarasi=@TelefonNumarasi)
LİKE ( '%' ? '%' )
mssqlde datebase oluşturdum ve sorgulama kısmını yapmaya çalışıyorum. yukarıdaki şekilde sorgu oluşturuyorum ama kabul etmiyor hata nerde?
SQL – LIKE Operatörü ve Kullanımı – Ders 13
YanıtlaSilSQL konusunda en çok sevdiğim ve sık sık kullandığım operatörlerin başında LIKE operatörü geliyor. Doğru bir şekilde filtreleme yaptığınızda istediğiniz sonuçlara rahatlıkla ulaşabiliyorsunuz. Peki bu tam olarak ne işe yarıyor? Belirttiğiniz tablo ve sütundaki metinleri, karakterlerine göre filtreleme işlemi yapıyor. Örnekler üzerinde daha rahat anlayacağınızı düşünüyorum.
https://www.dogushan.com/sql-like-operatoru-ve-kullanimi-ders-13/