Wie mache ich das?
Wenn meine Spalte beispielsweise "Katzen, Hunde, Vögel" lautet und ich Zeilen abrufen möchte, in denen die Spalte Katzen enthält?
Wie mache ich das?
Wenn meine Spalte beispielsweise "Katzen, Hunde, Vögel" lautet und ich Zeilen abrufen möchte, in denen die Spalte Katzen enthält?
Antworten:
Verwenden von LIKE:
SELECT *
FROM TABLE
WHERE column LIKE '%cats%' --case-insensitive
%
.
'%'||table2.field||'%'
als ähnliche Kriterien verwenden
Während LIKE
dies 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: instr
ist ab Sqlite 3.7.15 verfügbar .
SELECT *
FROM TABLE
WHERE instr(column, 'cats') > 0;
LIKE
Beachten Sie auch, dass zwischen Groß- und Kleinschreibung unterschieden wird , während zwischen instr
Groß- und Kleinschreibung unterschieden wird .
instr(...)
ist es etwas schneller (0,32s gegenüber 0,34s). Sie können .timer on
in SQLite die Ausführungszeit messen.