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:

Sobre Fábio dos Reis (1193 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

6 Comentários em LIKE e NOT LIKE – Filtrar por padrões específicos – Curso de SQL Server – 21

  1. Sidney Pedro da Silva // 20/06/2013 em 18:30 // Responder

    Caro Prof. Reis,
    Não entendi, nos exemplos, quando devemos utilizar os colchetes.
    Obrigado.
    Sidney

  2. SANDOVAL PIRES DA SILVA // 16/06/2020 em 20:03 // Responder

    Professor: gostaria de digitar, e, o comando (like), a medida que for digitando ele vai pesquisando de forma dinâmica…? Obrigado…

  3. Daniel Kock // 17/06/2022 em 9:51 // Responder

    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!

  4. 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.

Escreva um comentário

Seu e-mail não será divulgado


*