Perlu diingat bahwa ini tidak cocok jika string yang Anda cari adalah variabel atau berisi karakter khusus seperti %.
Sam
10
jika "kucing" adalah bidang dari tabel lain, Anda dapat menggunakan '%'||table2.field||'%'kriteria sejenis
Stéphane Ch.
96
Meskipun LIKEcocok untuk kasus ini, solusi tujuan yang lebih umum adalah menggunakan instr, yang tidak memerlukan karakter dalam string pencarian untuk di-escape. Catatan: instrtersedia mulai dari Sqlite 3.7.15 .
SELECT*FROMTABLEWHERE instr(column,'cats')>0;
Juga, perlu diingat bahwa LIKEadalah kasus- sensitif , sedangkan instradalah case sensitif .
Yang berarti bahwa minSdkVersion Anda harus 21 (5.0-Lollipop)
Maksim Turaev
1
@WilliamEntriken Dalam pengujian saya sendiri, instr(...)ini sedikit lebih cepat (0,32 detik vs 0,34). Anda dapat menggunakan .timer onSQLite untuk mengukur waktu eksekusi.
Jawaban:
Menggunakan LIKE:
sumber
%
.'%'||table2.field||'%'
kriteria sejenisMeskipun
LIKE
cocok untuk kasus ini, solusi tujuan yang lebih umum adalah menggunakaninstr
, yang tidak memerlukan karakter dalam string pencarian untuk di-escape. Catatan:instr
tersedia mulai dari Sqlite 3.7.15 .Juga, perlu diingat bahwa
LIKE
adalah kasus- sensitif , sedangkaninstr
adalah case sensitif .sumber
instr(...)
ini sedikit lebih cepat (0,32 detik vs 0,34). Anda dapat menggunakan.timer on
SQLite untuk mengukur waktu eksekusi.