sexta-feira, 12 de agosto de 2016

Select Like

Olá!

Ao consultar informações em um banco de dados (DB), de modo que o filtro da pesquisa seja uma string (nome, letra, palavra, etc.), ou seja, que a consulta tenha que retornar os registros que possuam dados semelhante a string informada. Assim, para realizar está consulta podemos utilizar o comando LIKE na condição do SQL.

Sendo que o comando LIKE possui variações no modo de filtrar os dados, conforme a tabela a seguir:

LIKE + operadorRetorna os registros
valor%que começam com o valor
%valorque terminam com o valor
%valor%que possuem o valor
_valor%que começam com o valor, sendo aqui desconsiderado o primeiro carácter

Então, a sintaxe básica do comando Select com Like, é:
SELECT campo(s)
  FROM tabela
 WHERE campo LIKE ‘operador

  • Exemplos
Tabela utilizada para os exemplos:
PESSOA
CD_PESSOANOMESOBRENOMEIDADE
1FelipeBarbosa23
2AnaVieira20
3JoãoSantos19
4AlineSilva21
5MairaDantas25

1) Pesquisar os nomes que começão com a letra A
SELECT NOME
  FROM PESSOA
 WHERE NOME LIKE ‘A%’

Resultado:
Ana
Aline

2) Pesquisar os nomes que possuem a letra I
SELECT NOME
  FROM PESSOA
 WHERE NOME LIKE ‘%i%’

Resultado:
Felipe
Aline
Maira

3) Pesquisar os nomes que possuem a silaba LI
SELECT NOME
  FROM PESSOA
 WHERE NOME LIKE ‘%li%’

Resultado:
Felipe
Aline

4) Pesquisar os nomes que terminam com a letra A
SELECT NOME
  FROM PESSOA
 WHERE NOME LIKE ‘%A

Resultado:
Ana
Maira

5) Pesquisar os nomes que possuam a segunda letra igual N
SELECT NOME
  FROM PESSOA
 WHERE NOME LIKE ‘_n%’

Resultado:
Ana

O underline serve para desconsiderar a posição da string que será comparada, no exemplo acima a primeira posição está sendo desconsiderada. Então, para desconsiderar uma ou mais posições de uma string a ser comparada use o underline na posição desejada. Exemplo:

Pesquisar strings que comecem com a segunda letra igual A e a quarta igual P
SELECT string
  FROM tabela
 WHERE string LIKE ‘_a_p%’
FELIPE BARBOSA FERREIRA
Consultar a relação de Termos e Abreviaturas acesse aqui.
Felipe Barbosa Ferreira
Até o próximo post!

Nenhum comentário:

Postar um comentário