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 LIKEsia 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 LIKEfa distinzione tra maiuscole e minuscole , mentre instrdistingue tra maiuscole e minuscole .
instr(...)è un po 'più veloce (0.32s contro 0.34s). È possibile utilizzare .timer onin SQLite per misurare il tempo di esecuzione.