Anasayfa / Yazılım / SQL / LIKE Deyimi Veri Listelemesinde Kısıtlama Yapma

LIKE Deyimi Veri Listelemesinde Kısıtlama Yapma

Genelde pek kullanılan yöntemler değildir ama biz değinelim bu konuya. LIKE deyimi ile verilerin her ne olursa olsun listelenmesini istediğimiz gibi aynı zamanda bu her ne olursa olsun kısmına bir kısıtlama da getirebiliriz. Bunu yapabilmek için kısıtlayıcı olarak köşeli parantezleri kullanırız. [,] kullanılır aynı zamanda ^ işareti de kullanılabilmektedir.

Kullanımına dair kalıplar;

SELECT column1,column2 FROM schema.table WHERE column LIKE ‘value[a-c]’;

SELECT column1,column2 FROM schema.table WHERE column LIKE ‘value[a,b,c]’;

SELECT column1,column2 FROM schema.table WHERE column LIKE ‘value[^d]’;

Şimdi bir kaç örnekle durumu daha net açıklayayım.

SELECT DISTINCT Soyad FROM kisi WHERE Soyad LIKE 'İsmai[i-n]';

Bu sorgu sonucunda ne listelenebilir? Bu sorgu şu demek kisi tablosundaki Soyad alanında İsmai ile başlayan ve son harfi i’den n’ye kadar olan verileri listele. Yani varsa eğer ismaii, ismaij, ismaik, ismail, ismaim, ismain listelenir.

SELECT DISTINCT Soyad FROM kisi WHERE Soyad LIKE 'İsmai[i, l, s, r, z]';

Bu sorgu sonucunda ne listelenebilir? Bu sorgu şu demek kisi tablosundaki Soyad alanında İsmai ile başlayan ve son harfi i, l, s, r veya z olanları listele. Yani varsa eğer ismaii, ismail, ismais, ismair, ismaiz listelenir.

SELECT DISTINCT Soyad FROM kisi WHERE Soyad LIKE 'İsmai[^k]

Bu sorgu sonucunda ne listelenebilir? Bu sorgu şu demek kisi tablosundaki Soyad alanında İsmai ile başlayan ve son harfi k haricinde olanları listele. Yani varsa eğer ismaik haricindeki tüm veriler listelenir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir