Bóson Treinamentos em Ciência e Tecnologia

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:

Sair da versão mobile