LIKE e NOT LIKE – Filtrar por padrões específicos – Curso de SQL Server – 21
Cláusula LIKE e NOT LIKE – Filtrar resultados com padrões específicos no SQL Server
Quando realizamos uma consulta em uma tabela no Microsoft SQL Server, empregamos a cláusula WHERE para filtrar os registros que serão retornados. Porém, com a cláusula WHERE, só podemos aplicar filtros de correspondência exata de palavras. O que acontece se precisarmos aplicar um filtro que verifique palavras de forma parcial, como por exemplo palavras que se iniciem ou terminem com determinados caracteres, ou ainda que possuam sequências de caracteres específicas?
Neste caso, vamos usar a cláusula LIKE.
A cláusula LIKE determina se uma cadeia de caracteres (string) corresponde a um padrão especificado. Um padrão pode incluir caracteres normais e curingas.
Já a cláusula NOT LIKE inverte a comparação, verificando se a cadeia de caracteres NÃO corresponde ao padrão especificado.
Padrões específicos (metacaracteres)
Usamos diversos conjuntos de caracteres para especificar os padrões a serem filtrados pelas cláusulas LIKE e NOT LIKE. Por exemplo:
‘%’ — Qualquer cadeia de 0 ou mais caracteres
‘_’ — Sublinhado: qualquer caracter único
Exemplos:
1. Selecionar todos os registros da tabela tbl_livros cujo nome se inicie com a letra F:
SELECT * FROM tbl_livros WHERE Nome_Livro LIKE 'F%';
2. Selecionar todos os registros da tabela tbl_livros cujo nome não se inicie com a letra S:
SELECT * FROM tbl_livros WHERE Nome_Livro NOT LIKE 'S%';
3. Vamos retornar os nomes de livros da tabela tbl_livros cujo nome comece com uma letra qualquer do alfabeto, e a segunda letra seja a letra i:
SELECT Nome_Livro FROM tbl_livros WHERE Nome_Livro LIKE '_i%';
4. Consultar nomes de livros e seus respectivos preços, na tabela de livros, cujos nomes não comecem com a letra F e que custem mais de R$ 62,00:
SELECT Nome_Livro AS Livro, Preco_Livro AS Valor FROM tbl_livros WHERE Nome_Livro NOT LIKE 'F%' AND Preco_Livro > 62.00;
Assista a um vídeo onde explico em detalhes como usar as claúsulas LIKE e NOT LIKE no Microsoft SQL Server:
Caro Prof. Reis,
Não entendi, nos exemplos, quando devemos utilizar os colchetes.
Obrigado.
Sidney
Não use os colchetes!!!! São apenas para exemplificar onde os dados devem ser inseridos.
Professor: gostaria de digitar, e, o comando (like), a medida que for digitando ele vai pesquisando de forma dinâmica…? Obrigado…
Fala Fábio, o vídeo acabou puxando do módulo de instalação do SQL Server, não das cláusulas LIKE E NOT LIKE. Valeu pelas aulas!
Obrigado pelo aviso, Daniel, link arrumado! Abraço!
Bom dia professor!
E como eu faria pra usar o where em duas condições opcionais:
WHERE Nome_Livro LIKE ‘%%DIA%%’ [ou não preencher nada e trazer todos os registros]
Como se fosse um filtro opcional.
Obrigado pelas explicações.