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 LIKE
convienne à 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: instr
est disponible à partir de Sqlite 3.7.15 .
SELECT *
FROM TABLE
WHERE instr(column, 'cats') > 0;
De plus, gardez à l' esprit que LIKE
est la casse insensible , alors instr
est la casse sensible .
instr(...)
c'est un peu plus rapide (0.32s vs 0.34s). Vous pouvez utiliser .timer on
dans SQLite pour mesurer le temps d'exécution.