MS SQL Server Eğitimleri 31 – T-SQL LIKE Kullanımı

MS SQL Eğitimlerimize önemli bir konu LIKE operatörü ile devam ediyoruz.

LIKE önemli bir operatör çünkü Select işlemlerinde bizim sorgu yapma kabiliyetimizi artıran bir operatör. 

Normal bir eşittir operatörüyle sorgu yaptığımızda veri tabanında sorgu için yazdığımız değerin aynısını arayacak ve ancak onu bulabilirse bir listeleme işlemi yapacaktır. Böyle olmasını istemediğimiz durumlar var ise ne yapacağız?

Örneğin isimler kolonundan ismi A ile başlayanları listelemek isteseydim. Ya da isminin içinde A geçen, yada isminin içinde ASA geçen vs vs böyle böyle çoğaltabileceğimiz pek çok arama kriterini ancak LIKE operatörü ile yapabiliriz.

Şimdi gelin bir kullanımına bakalım.

LIKE Kullanımı

Burada kullanımda vermiş olduğumuz tek tipliğe takılmayın. Aranan değer % nin önüne, arkasına, iki % arasına bile gelebilir. Bu tamamen sizin ne yapmak istediğinizle alakalıdır. 

Şimdi örneklerimizle daha iyi anlaşılacak.

XENONBOX veri tabanımızdan CUSTOMER tablomızda sorgular yazalım.

İlk olarak baş harfi A olan kişileri listeleyelim.

2 Ana Trujillo México D.F. Mexico (5) 555-4729
3 Antonio Moreno México D.F. Mexico (5) 555-3932
19 Ann Devon London UK (171) 555-0297
21 Aria Cruz Sao Paulo Brazil (11) 555-9857
31 André Fonseca Campinas Brazil (11) 555-9482
41 Annette Roulet Toulouse France 61.77.61.10
52 Alexander Feuer Leipzig Germany 0342-023176
69 Alejandra Camino Madrid Spain (91) 745 6200
75 Art Braunschweiger Lander USA (307) 555-4680
81 Anabela Domingues Sao Paulo Brazil (11) 555-2167

Burada ‘A%’ ifadesini biraz incelemek gerekirse. Aranan kelimenin ilk harfinin A olmasına bakar. Diğer tüm karakterlerin yerini % ifadesi alır.

Şimdi birde son harfi K olan kişileri bulalım.

91 Zbyszek Piestrzeniewicz Warszawa Poland (26) 642-7012

Şimdi arada NT harflerinin geçtiği kişileri arayalım.

 

3 Antonio Moreno México D.F. Mexico (5) 555-3932

Like deyiminden sonra arama kriterine sadece % koymak o kolona ait tüm verileri getir demektir.

1 Maria Anders Berlin Germany 030-0074321
2 Ana Trujillo México D.F. Mexico (5) 555-4729
3 Antonio Moreno México D.F. Mexico (5) 555-3932
4 Thomas Hardy London UK (171) 555-7788
5 Christina Berglund Luleå Sweden 0921-12 34 65
6 Hanna Moos Mannheim Germany 0621-08460
7 Frédérique Citeaux Strasbourg France 88.60.15.31
8 Martín Sommer Madrid Spain (91) 555 22 82
9 Laurence Lebihan Marseille France 91.24.45.40
10 Elizabeth Lincoln Tsawassen Canada (604) 555-4729

LIKE İle OR ve AND Kullanımı

Like deyimi ile AND ve OR gibi ifadeleri beraber kullanarak aramalarda yapabiliriz.

1 Maria Anders Berlin Germany 030-0074321
24 Maria Larsson Bräcke Sweden 0695-34 67 21

NOT LIKE Kullanımı

Not Like, yazdığımızın zıttını getirecektir.

Yani eğer ‘A%’ ile bir arama yaparsak baş harfinda A olmayan herkesi getirecektir.

1 Maria Anders Berlin Germany 030-0074321
4 Thomas Hardy London UK (171) 555-7788
5 Christina Berglund Luleå Sweden 0921-12 34 65
6 Hanna Moos Mannheim Germany 0621-08460
7 Frédérique Citeaux Strasbourg France 88.60.15.31
8 Martín Sommer Madrid Spain (91) 555 22 82
9 Laurence Lebihan Marseille France 91.24.45.40
10 Elizabeth Lincoln Tsawassen Canada (604) 555-4729
11 Victoria Ashworth London UK (171) 555-1212
12 Patricio Simpson Buenos Aires Argentina (1) 135-5555
13 Francisco Chang México D.F. Mexico (5) 555-3392

Bir sonraki yazımda yine LIKE operatörüyle devam ediyor olacağız.

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz
Murat Bilginer

Industryolog Akademi Founder – Endüstri Mühendisi
Canias ERP Troia Geliştiricisi & Yazılım Uzmanı
7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

http://muratbilginer.net/