Beachten Sie, dass dies nicht geeignet ist, wenn die gesuchte Zeichenfolge variabel ist oder ein Sonderzeichen wie z %.
Sam
10
Wenn "Katzen" ein Feld aus einer anderen Tabelle ist, können Sie '%'||table2.field||'%'als ähnliche Kriterien verwenden
Stéphane Ch.
96
Während LIKEdies für diesen Fall geeignet ist, wird eine allgemeinere Lösung verwendet instr, bei der keine Zeichen in der Suchzeichenfolge maskiert werden müssen. Hinweis: instrist ab Sqlite 3.7.15 verfügbar .
SELECT*FROMTABLEWHERE instr(column,'cats')>0;
LIKEBeachten Sie auch, dass zwischen Groß- und Kleinschreibung unterschieden wird , während zwischen instrGroß- und Kleinschreibung unterschieden wird .
Was bedeutet, dass Ihre minSdkVersion 21 (5.0-Lollipop) sein sollte
Maksim Turaev
1
@ WilliamEntriken In meinem eigenen Test instr(...)ist es etwas schneller (0,32s gegenüber 0,34s). Sie können .timer onin SQLite die Ausführungszeit messen.
Antworten:
Verwenden von LIKE:
quelle
%
.'%'||table2.field||'%'
als ähnliche Kriterien verwendenWährend
LIKE
dies für diesen Fall geeignet ist, wird eine allgemeinere Lösung verwendetinstr
, bei der keine Zeichen in der Suchzeichenfolge maskiert werden müssen. Hinweis:instr
ist ab Sqlite 3.7.15 verfügbar .LIKE
Beachten Sie auch, dass zwischen Groß- und Kleinschreibung unterschieden wird , während zwischeninstr
Groß- und Kleinschreibung unterschieden wird .quelle
instr(...)
ist es etwas schneller (0,32s gegenüber 0,34s). Sie können.timer on
in SQLite die Ausführungszeit messen.