¿Cómo hago esto?La cadena de SQLite contiene otra cadena de consulta
Por ejemplo, si mi columna es "gatos, perros, pájaros" y quiero obtener las filas donde la columna contiene gatos?
¿Cómo hago esto?La cadena de SQLite contiene otra cadena de consulta
Por ejemplo, si mi columna es "gatos, perros, pájaros" y quiero obtener las filas donde la columna contiene gatos?
utilizando como:
SELECT *
FROM TABLE
WHERE column LIKE '%cats%' --case-insensitive
Tenga en cuenta que esto no es adecuado cuando la cadena que está buscando es variable o contiene un carácter especial como '%'. – Sam
si "gatos" es un campo de otra tabla, puede usar ''%' || table2.field || '%'' como los criterios similares –
Mientras LIKE
es adecuado para este caso, una solución objetivo más general es utilizar instr
, que no requiere de caracteres en la cadena de búsqueda para ser escapado. Nota: instr
is available starting from Sqlite 3.7.15.
SELECT *
FROM TABLE
WHERE instr(column, 'cats') > 0;
Además, tenga en cuenta que LIKE
distingue entre mayúsculas y minúsculas , mientras que instr
distingue entre mayúsculas y sensibles.
Lo que significa que su minSdkVersion debe ser 21 (5.0-Lollipop) –
edite su pregunta con un conjunto de datos de muestra. Es difícil determinar exactamente lo que está pidiendo. –