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 '\';
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:
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/
Yorum Gönder