Comment puis-je faire cela?
Par exemple, si ma colonne est "chats, chiens, oiseaux" et que je veux obtenir des lignes où la colonne contient des chats?
Comment puis-je faire cela?
Par exemple, si ma colonne est "chats, chiens, oiseaux" et que je veux obtenir des lignes où la colonne contient des chats?
Réponses:
En utilisant LIKE:
SELECT *
FROM TABLE
WHERE column LIKE '%cats%' --case-insensitive
%.
'%'||table2.field||'%'comme critère similaire
Bien que cela LIKEconvienne à ce cas, une solution plus générale consiste à utiliser instr, qui ne nécessite pas d'échapper les caractères de la chaîne de recherche. Remarque: instrest disponible à partir de Sqlite 3.7.15 .
SELECT *
FROM TABLE
WHERE instr(column, 'cats') > 0;
De plus, gardez à l' esprit que LIKEest la casse insensible , alors instrest la casse sensible .
instr(...)c'est un peu plus rapide (0.32s vs 0.34s). Vous pouvez utiliser .timer ondans SQLite pour mesurer le temps d'exécution.