Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Buscar um texto com LIKE em que eu queira distinguir maiúsculas e minúsculas

O SQLite não faz distinção de maiúsculas e minúsculas quando procuro um determinado texto utilizando LIKE.
Existe uma forma de realizar um SELECT em que eu obrigque o SQLite fazer essa distinção?
Por exemplo, necessito que ele traga para mim um registro que determinado campo contenha a palavra "Poder" e não quero que registros com "poder" ou "PODER" sejam recuperados.
É possível incluir essa condição?

1 resposta

Olá, Tomaz, como vai?

Uma alternativa é usar a função GLOB no lugar do LIKE. O GLOB funciona de forma parecida, usando * no lugar do % para representar qualquer sequência de caracteres, só que ele é case sensitive por padrão. Ficaria assim: SELECT * FROM Treinamento WHERE curso GLOB 'Poder'. Dessa forma, só vai trazer registros com "Poder" exatamente daquela forma, ignorando "poder" ou "PODER".

Outra opção, se quiser continuar usando LIKE, é ativar o pragma case_sensitive_like, executando PRAGMA case_sensitive_like = true; antes da sua consulta, o que muda o comportamento padrão do operador.

Qualquer dúvida, o fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!