2010-08-17 20 views
71

Bunu nasıl yaparım?SQLite dizesi başka bir dizi sorgusu içeriyor

Örneğin, sütüm "kediler, köpekler, kuşlar" ise ve sütunun kedileri içerdiği herhangi bir satır almak istiyorsam?

+3

Sorunuzu bir dizi örnek veri ile düzenleyin. Tam olarak ne istediğini belirlemek zor. –

cevap

140

GİBİ kullanma: Bu durum için uygundur

SELECT * 
    FROM TABLE 
WHERE column LIKE '%cats%' --case-insensitive 
+3

Aradığın dizenin değişken olduğu veya '%' gibi özel bir karakter içerdiği durumlarda bunun uygun olmadığını unutmayın. – Sam

+4

"kediler" başka bir tablodan bir alan ise, '%' || table2.field || '%' 'kullanabilirsiniz ve benzer ölçüt olarak –

53

LIKE iken, daha genel amaçlı çözüm çıkış yapılmasını arama dizede karakterleri gerektirmez instr, kullanmaktır. Not: instr is available starting from Sqlite 3.7.15.

SELECT * 
    FROM TABLE 
WHERE instr(column, 'cats') > 0; 

Ayrıca instr oysa duyarlı küçük harf edilir LIKEduyarsız vaka olduğunu unutmayın.

+7

. Yani minSdkVersion öğesinin 21 olması gerekir (5.0-Lollipop) –

İlgili konular