1
resposta

SQL - Consulta de termos compostos (verbo + preposição)

Galera, boa noite.

Tenho um BD (mysql) com alguns tweets armazenados em uma coluna texto. Estou tentando montar uma consulta que retorne as mensagens com determinadas "palavras compostas", mas não esta dando certo. Tentei com like e estou lendo sobre Regex pra ver se consigo, mas ainda sem sucesso. Alguém pode dar uma ajuda?

Dados da tabela

Mensagens da tabela:

Msg 1: Estou estudando pra aprender SQL Msg 2: Eu estudo para passar de ano Msg 3: O estudo pro concurso está em andamento Msg 4: Eu vou estudar pra aprender SQL Msg 5: Eu estudo com meu amigo pra passar no concurso.

A intenção é pegar toda as variações do verbo estudar com seguido de determinadas preposições. Com like eu tentei...

like %estud% and like %pr% - A idéia é trazer apenas o verbo estudar + ' '+ preposição, logo traria Msg 1 a 4. Porém ele traz a 5 e não deveria.

Estou estudando sobre regex pra ver se consigo algo, mas até agora sem sucesso.

Alguém pode me ajudar?

1 resposta

Leandro, td bem?

Está devolvendo a MSG 5: Eu estudo com meu amigo **pra** passar no concurso. por que o like varre e encontra o "pra", condição do seu comando. A forma de utilizar o operador está correta, pois a varredura ocorre buscando por algo 'que se pareça' (like) com a sua sintaxe, não sendo necessariamente igual. Por isso retorna também a MSG 5. Uma sugestão: tente concatenar com NOT LIKE %amigo%, cuja varredura opera exatamente da forma inversa do like. Ou seja, verificando se a cadeia de caracteres NÃO corresponde ao padrão especificado. Eu também comecei o estudo recente, então, meu conhecimento ainda é limitado e provavelmente há uma forma mais assertiva. Mas, espero ter ajudado de alguma forma.