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 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 *
FROM TABLE
WHERE instr(column, 'cats') > 0;
LIKEBeachten Sie auch, dass zwischen Groß- und Kleinschreibung unterschieden wird , während zwischen instrGroß- und Kleinschreibung unterschieden wird .
instr(...)ist es etwas schneller (0,32s gegenüber 0,34s). Sie können .timer onin SQLite die Ausführungszeit messen.