2009-03-31 22 views
9

Art arda dört yüzde işareti içeren verileri seçmeye çalışıyorum. LIKE durumumun çalışması için yüzde işaretlerinden nasıl kurtulabilirim?Kaçış yüzdesi işareti DB2 SQL

Teşekkür

+0

Altyazı için de çalıştığı için soruyu "DB2 SQL'de yüzdelik kaçış veya alt çizgi işareti" olarak değiştirmeyi önerebilir miyim? Bu, insanların bu soruyu/cevabı bulmasına yardımcı olur. –

cevap

12

kaçış karakteri maddesi ile kullanın @%:

select * 
from tbl 
where fld like '%@%%' escape '@' 

Bu fld sütunda "%" karakteri içeren tüm kayıtlar arayacaktır. Eğer bu sizin dize geri kalanına engel olmayacak şekilde dikkatlice kaçış karakterini seçmek gerekir, Açıkçası

select * 
from tbl 
where fld like {escape '@'} '%@%%' 

ancak bunun için nispeten kolaydır:

DB2/z biraz daha farklı bir biçime sahip statik dizeler. Dinamik olarak oluşturulmuş dizeler, dinamik olarak oluşturulmuş sorgular gerektirir, böylece dizeden bir karakter kullanmaz.

+1

LIKE dizesinde tam anlamıyla kullanmak istediğinizde iki katı herhangi bir çıkış karakteri seçebilirsiniz. GİBİ '...' ESCAPE '...' ANSI SQL92'de standarttır. – bobince