Consulta SQL (como) tentando encontrar títulos com e
Pergunta
Ao fazer uma consulta SQL e quero puxar entradas de uma mesa que tenha e em nome, mas eu não quero nomes que apenas tenham e nelas ...
Confuso, mas vou mostrar um exemplo
Existem 2 entradas na tabela:
- Pandomniam
- Frank e feijão.
Quando faço a consulta, só quero que Frank e Beans apareçam, não Pandomniam. Estou fazendo algo como
SELECT NAME FROM TABLE WHERE NAME LIKE '%and%'
Isso vai me obter resultados, mas eu tenho os unidos.
Meu primeiro instinto é tentar ver se eu consigo obter apenas Pandomniam em um resultado para que eu pudesse fazer um e não gostar de filtrá -los, mas não consigo encontrar um.
Solução
Que tal adicionar alguns espaços:
SELECT NAME FROM TABLE WHERE NAME LIKE '% and %'
Outras dicas
SELECT NAME FROM TABLE
WHERE
NAME LIKE '% and %' OR
NAME LIKE 'and %' OR
NAME LIKE '% and'
SELECT NAME FROM TABLE WHERE NAME LIKE '% and %'
Você não diz qual marca de RDBMS está usando. O MySQL suporta um predicado de expressão regular RLIKE
com uma sequência de Metacharacter para "limite de palavras":
SELECT NAME FROM TABLE WHERE NAME RLIKE '[[:<:]]and[[:>:]]'
Se você estiver usando outra marca de banco de dados diferente do MySQL, talvez possa pesquisar seus recursos de expressão regular.