Sayfalar

28 Ocak 2015 Çarşamba

SQL Notları: SQL - LIKE Sorgularında Yüzde( percent - '%') ve Alt Çizgi ( underscore - '_' ) Kullanımı

SQL sorgularımızda kullandığımız like ifadesinde “_” , “%” karakterlerini wildcard olarak değil de sorgu karakteri olarak kullanmak istediğimizde bunları escape karakteri ile belirtmeliyiz.

Örneğin, aşağıdaki sorguda “TYPES_” ile başlayan tabloları listelemek istediğimizde, aşağıdaki sorgudaki “_” karakteri wildcard karakteri olarak görüleceğinden istediğimiz sonuç döndürülmeyecektir.

select * from all_tables where table_name like 'TYPES_%';



Bunun için sorgumuzu aşağıdaki şekilde değiştirmeliyiz:

select * from all_tables where table_name like 'TYPES\_%' ESCAPE '\';
 Benzer şekilde içinde “intercon_cdr%rowtype” geçen kodları aramak için de aşağıdaki sorgu istediğimiz sonucu döndürmeyecektir:

select * from dba_SOURCE where lower(text) like '%intercon_cdr%rowtype%'; 


Bunun için sorgumuzu aşağıdaki şekilde değiştirmeliyiz:

select * from dba_SOURCE where lower(text) like '%intercon_cdr\%rowtype%' ESCAPE '\';



Kaynaklar:

ali kemal taşçı

1 yorum:

Unknown dedi ki...

SQL – LIKE Operatörü ve Kullanımı – Ders 13
SQL 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/