Come faccio a fare questo?
Ad esempio, se la mia colonna è "gatti, cani, uccelli" e desidero ottenere righe in cui la colonna contiene gatti?
Come faccio a fare questo?
Ad esempio, se la mia colonna è "gatti, cani, uccelli" e desidero ottenere righe in cui la colonna contiene gatti?
Risposte:
Utilizzando MI PIACE:
SELECT *
FROM TABLE
WHERE column LIKE '%cats%' --case-insensitive
%
.
'%'||table2.field||'%'
come criteri simili
Sebbene LIKE
sia adatto a questo caso, una soluzione più generale è quella di utilizzare instr
, che non richiede che i caratteri nella stringa di ricerca siano sottoposti a escape. Nota: instr
è disponibile a partire da Sqlite 3.7.15 .
SELECT *
FROM TABLE
WHERE instr(column, 'cats') > 0;
Inoltre, tieni presente che non LIKE
fa distinzione tra maiuscole e minuscole , mentre instr
distingue tra maiuscole e minuscole .
instr(...)
è un po 'più veloce (0.32s contro 0.34s). È possibile utilizzare .timer on
in SQLite per misurare il tempo di esecuzione.