ekrem özer

her yerde olan şeyler.

SQL Like Kullanımı

Like komutu SQL'de sadece metinsel alanlarda kullanılabilir. Üç değişik biçimde kullanılabilir ve kullanırken %(yüzde) işareti ile birlikte kullanırız. Like komutuyla verdiğimiz değeri içeren sonuçları aratırız. 1.Başlangıç değerine göre arama Örneğin Ürünler tablomuzda Ch ile başlayan ürünleri listeyelim.  Select cümlemiz aşağıdaki gibi olacaktır;

SELECT * FROM Products p WHERE p.ProductName LIKE 'Ch%'

2.İçeren değerine göre arama Örneğin ürün tablamuzda isminde Ch  geçen tüm  ürünleri listeleyelim. Select cümlemiz aşağıdaki gibi olacaktır.

SELECT * FROM Products p WHERE p.ProductName LIKE '%Ch%'

3.Bitiş değerine göre arama Örneğin ürün tablomuzda sonu rs ile biten ürünleri listeleyelim. Select cümlemiz aşağıdaki gibi olacaktır.

SELECT* FROM Products p WHERE p.ProductName LIKE '%rs'

Like komutuda köşeli parantezin"[]" işlevi Koşul değeri olarak birden fazla seçenek kullanmamızı sağlar. Örneğin ürün tablamuzda a ve c  ile başlayan ürünleri listeleyelim. Select cümlemiz aşağıdaki gibi olacaktır.

SELECT* FROM Products p WHERE p.ProductName LIKE '[ac]%'

Eğer köşeli parantezin içindeki harfler arasına tire"-" işareti koymuş olsaydık bu sefer a ile c arasındaki tüm harfleri içeren bir sorgu olacaktı. Yani baş harfi a,b,c olan tüm ürünleri listelemiş olacaktır. Bu sorgu için SQL cümlemiz aşağıdaki gibi olacaktır;

SELECT* FROM Products p WHERE p.ProductName LIKE '[a-c]%'

Eğer köşeli parantezin içindeki harflerin arasına, başına veya sonuna alt tire"_" koymuş olsaydık her alt tireyi bir karakter olarak algılayacaktı ve alt tire yerine herhangi bir karakter olan ürün isimlerini getirecekti. Böyle bir sordu için SQL cümlemiz aşağıdaki gibi olacaktır;

SELECT * FROM Products p WHERE p.ProductName LIKE '_h%'

Yukarıdaki sorgumuzda ilk harfi tüm değerler, ikinci harfi h olan tüm sonuçları listeledik. alt tire"_" ile yüzde"%" arasındaki fark, alt tire tek bir karakteri temsil eder yüzde ise sınırsız sayıda karakteri temsil eder. Eğer köşeli parantezin içinde üzeri"^" işareti kullanıyor olsaydık sonrasında gelen değeri içermeyen sonuçları sorgulamış olacaktık.Böyle bir sordu için SQL cümlemiz aşağıdaki gibi olacaktır;

SELECT * FROM Products p WHERE p.ProductName LIKE '[^A]%'

Yukarıdaki sorgumuzda ilk harfi A olmayan tüm sonuçları listeledik. Bu yazımda Sql'de LIKE kullanımını tüm yönleriyle anlatmaya çalıştım, umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere.