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

MS SQL Eğitimlerimize LIKE operatörünün yardımcı elemanları ile devam ediyoruz.

LIKE deyimi bize arama ve filtreleme de çok fazla opsiyon sağlayarak verilerle daha iyi işlemler yapmamıza yardımcı oluyor demiştik.

Bugün bu arama yeteneklerimizi biraz daha geliştiren LIKE operatörünün yardımcı elemanlarını göreceğiz.

_ Alt Tire İşareti

Bu işaret bir karakterin yerini tutmak için kullanılır.

Örneğin İsminin ilk 3 harfi MUR ama 4. harfinin herhangi bir değer olmasını 5. harfinin T olmasını ve sonrasında herhangi bir değer alabilir ifadesini istediğimizde   sorguyu yazarken MUR_T% yazarız. Burada _ gördüğümüz yere istediğimiz her harf gelebilir.

Bunu şimdi XENONBOX veri tabanımızda CUSTOMER tablomuzda bir sorgu yazalım.

İlk 2 harfi AN olan 3. harfinin herhangi bir değer olduğu 4. harfinin O olduğu kişileri listeleyelim.

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

Alt Tire ifadesini istediğiniz kadar kullanabilirsiniz ve sadece bir karakterin yerini alacaktır.

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

[Değer1,Değer, , DegerN] İstediğimiz Kadar Karakteri Sorgulama

Bazen aradığımız yerde sadece bir harfin olmasını değil belirli birden fazla karakterinde olabileceği durumlar olabilir. Böyle durumlarda  [Değer1,Değer, , DegerN] ifadesi kullanılır.

Örneğin baş harfi A,B ve C olanları listelemek istersek şöyle yazmamız yeterli olacaktır.

2 Ana Trujillo México D.F. Mexico (5) 555-4729
3 Antonio Moreno México D.F. Mexico (5) 555-3932
5 Christina Berglund Luleå Sweden 0921-12 34 65
19 Ann Devon London UK (171) 555-0297
21 Aria Cruz Sao Paulo Brazil (11) 555-9857
26 Carine Schmitt Nantes France 40.32.21.21
31 André Fonseca Campinas Brazil (11) 555-9482
35 Carlos Hernández San Cristóbal Venezuela (5) 555-1340
41 Annette Roulet Toulouse France 61.77.61.10
46 Carlos González Barquisimeto Venezuela (9) 331-6954

Bunu bu şekilde istediğiniz gibi şekillendirebilirsiniz.

Not: Arama yaparken büyük yada küçük harf duyarlılığı yoktur. [A,B,C] yerine [a,b,c] yazsanız da aynı sonucu alırsınız.

[A-Z] İfadesi İle Aralık Sorgulama

Yukarıdaki örneğimizde 3 karakterli bir arama yapmıştık. Ama 15 karakterin varlığını sorgulasaydık tek tek yazmak çok pratik bir çözüm değil. Bunun yerine bir aralık belirtiyoruz.

Baş harfi A ve K arasındaki tüm karakterlerin olabileceği 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
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
10 Elizabeth Lincoln Tsawassen Canada (604) 555-4729
13 Francisco Chang México D.F. Mexico (5) 555-3392
16 Elizabeth Brown London UK (171) 555-2282
18 Janine Labrune Nantes France 40.67.88.88
19 Ann Devon London UK (171) 555-0297

 [^] İşareti İle Verilen Dizinin Değilini Getirme

Bir önceki dersimizde NOT LIKE ifadesini görmüştük. Burada alternatif bir yöntem söyleyelim. örneğin baş harf A ve L arasında olmayanları listeleme istiyoruz. Bunu ilk bildiğimiz haliyle şöyle yapabiliriz.

1 Maria Anders Berlin Germany 030-0074321
4 Thomas Hardy London UK (171) 555-7788
8 Martín Sommer Madrid Spain (91) 555 22 82
9 Laurence Lebihan Marseille France 91.24.45.40
11 Victoria Ashworth London UK (171) 555-1212
12 Patricio Simpson Buenos Aires Argentina (1) 135-5555
14 Yang Wang Bern Switzerland 0452-076545
15 Pedro Afonso Sao Paulo Brazil (11) 555-7647
17 Sven Ottlieb Aachen Germany 0241-039123
20 Roland Mendel Graz Austria 7675-3425

Şu şekilde farklı bir yolla da çözebiliriz.

1 Maria Anders Berlin Germany 030-0074321
4 Thomas Hardy London UK (171) 555-7788
8 Martín Sommer Madrid Spain (91) 555 22 82
9 Laurence Lebihan Marseille France 91.24.45.40
11 Victoria Ashworth London UK (171) 555-1212
12 Patricio Simpson Buenos Aires Argentina (1) 135-5555
14 Yang Wang Bern Switzerland 0452-076545
15 Pedro Afonso Sao Paulo Brazil (11) 555-7647
17 Sven Ottlieb Aachen Germany 0241-039123
20 Roland Mendel Graz Austria 7675-3425

Böylelikle bu dersimizin de sonuna geldik. Görüşmek üzere.

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/