Pamiętaj, że nie jest to odpowiednie, gdy szukany ciąg jest zmienny lub zawiera znak specjalny, taki jak %.
Sam
10
jeśli „koty” to pole z innej tabeli, możesz użyć '%'||table2.field||'%'podobnych kryteriów
Stéphane Ch.
96
Chociaż LIKEjest to odpowiednie w tym przypadku, bardziej ogólnym rozwiązaniem jest użycie instr, które nie wymaga znaków ucieczki w ciągu wyszukiwania. Uwaga: instrjest dostępny od Sqlite 3.7.15 .
SELECT*FROMTABLEWHERE instr(column,'cats')>0;
Należy również pamiętać, że LIKEwielkość liter nieinstr jest rozróżniana , natomiast wielkość liter jest rozróżniana .
Odpowiedzi:
Korzystanie LIKE:
źródło
%
.'%'||table2.field||'%'
podobnych kryteriówChociaż
LIKE
jest to odpowiednie w tym przypadku, bardziej ogólnym rozwiązaniem jest użycieinstr
, które nie wymaga znaków ucieczki w ciągu wyszukiwania. Uwaga:instr
jest dostępny od Sqlite 3.7.15 .Należy również pamiętać, że
LIKE
wielkość liter nieinstr
jest rozróżniana , natomiast wielkość liter jest rozróżniana .źródło
instr(...)
jest trochę szybszy (0.32s vs 0.34s). Możesz użyć.timer on
w SQLite do pomiaru czasu wykonania.