O operador LIKE

O operador LIKE é usado em uma cláusula WHERE para pesquisar por um padrão especificado em uma coluna.

A sintaxe do LIKE
   1:SELECT nome_coluna(s)
2:FROM nome_tabela
3:WHERE nome_coluna LIKE padrao

Exemplos do operador LIKE

Dada a tabela abaixo:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Nos queremos selecinar as pessoas que vivem em uma cidade que começa com 'S':
   1:SELECT * FROM Pessoas
2:WHERE cidade LIKE 'S%'
O símbolo % pode ser usado para definir um padrão (letras faltando no padrão) tanto antes como depois do padrão.

O resultado da pesquisa acima será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Agora nós queremos selecionar as pessoas que vivem em uma cidade cujo nome termina com 'S':
   1:SELECT * FROM Pessoas
2:WHERE cidade LIKE '%s'
O resultado para esta pesquisa será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes

Agora vamos procurar as pessoas que vivem em uma cidade em que o nome que contém as letras 'tav':
   1:SELECT * FROM Pessoas
2:WHERE cidade LIKE '%tav%'

O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
3PettersenKariStorgt 20Stavanger

Também é possível selecionar as pessoas que vivem em uma cidade em que o nome NÃO CONTÉM o padrão 'tav' usando a palavra NOT:
   1:SELECT * FROM Pessoas
2:WHERE cidade NOT LIKE '%tav%'
O resultado será o seguinte:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes

Usando o padrão _

O padrão _ substitui apenas um caractere no texto.

Vamos por exemplo selecionar as pessoas cujo nome tem 3 letras e termina com 'la':
   1:SELECT * FROM Pessoas
2:WHERE primeiro_nome LIKE '_la'
O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
1HansenOlaTimoteivn 10Sandnes


Queremos agora selecionar as pessoas têm o sobrenome começando com 'S' seguido de qualquer caractere seguido de 'end' seguido de outro caractere e terminando com 'on':
   1:SELECT * FROM Pessoas
2:WHERE sobrenome LIKE 'S_end_on'
O resultado será:

idsobrenomeprimeiro_nomeenderecocidade
2SvendsonToveBorgvn 23Sandnes

Além destes padrões de pesquisa, que são comummente encontrados nos SGCBs, os bancos de dados também oferecem outros padrões como Expressões Regulares que podem ser úteis em outras situações.

Fonte

2 comentários:

  1. Thiago, eu estou muito agradecido por essa postagem, há 14 meses venho querendo saber como fazer um calculo e não estava conseguindo o código certo, e Deus faz eu achar sua postagem no momento que mais eu tô precisando... Obrigado... Deus te abençoe + e +

    ResponderExcluir
    Respostas
    1. Que bom. Precisando de mais alguma coisa.. volta aqui no blog, manda a sua dúvida que nós podemos tentar explicar.

      Excluir