Consulta SQLite, 'LIKE'

Estoy tratando de recuperar información de mi database.
Tengo palabras como Lim Won Mong y Limited .

Si realizo mi consulta, SELECT name FROM memberdb WHERE name LIKE '%LIM%' , muestra tanto Lim Won Mong como Limited y solo deseo datos de Lim Won Mong .

¿Cómo debería reescribir mi consulta?

Ejecute la siguiente consulta:

 select name from memberdb where name like '% LIM %' OR name like "LIM %" OR name like "% LIM" OR name like "LIM" 

Si desea hacer coincidir la palabra "lim" (para que coincida con "a lim", "lim a", "a lim a" y "lim", pero no "limit" o "alim"), puede usar REGEXP key SQL REGEXP , y usa límites de palabras ( [[:<:]] y [[:>:]] ). Estos coinciden con el espacio en blanco (espacios, tabs, líneas nuevas), el inicio / final de la secuencia y algunos signos de puntuación.

Algo como esto:

 SELECT name FROM memberdb WHERE name REGEXP '[[:<:]]LIM[[:>:]]' 

Tenga en count que REGEXP NO es sensible a mayúsculas y minúsculas (a less que use cadenas binarias).

Si desea que coincida SOLAMENTE con espacios, aún puede usar REGEXP ; esto coincidirá ya sea con el comienzo de la string o un espacio, luego con "lim", luego con un espacio o el final de la string:

 SELECT name FROM memberdb WHERE name REGEXP '(^| )LIM( |$)' 

Ambas soluciones se han probado en versiones SQL que admiten REGEXP (SQLite 3+; todos los Android usan 3.5.9 o superior).

Prueba este:

 SELECT name FROM MEMBERDB WHERE name LIKE 'LIM %' OR name LIKE '% LIM' OR name LIKE '% LIM %' OR name LIKE 'LIM'; 

Supongamos que tiene datos como este:

 'LIMITED' 'Lim Won Mong' 'Wang Tat Lim' 'ELIM TED' 'lim' 'Wang LIM tim' 

Esta consulta le devolverá solo los siguientes datos:

 'Lim Won Mong' 'Wang Tat Lim' 'lim' 'Wang LIM tim' 

Ver este SQLFiddle