MySQL - Filtrando CEP com a ajuda do REGEXP
Vamos a uma dica rápida de REGEXP, utilizando como base a seleção de linhas em uma tabela que possuem CEP preenchido.
Nossa tabela possui a seguinte estrutura:
Para selecionar apenas as linhas que possuem CEP utilizamos a seguinte Query:
SELECT ID,ENDERECO,CEP FROM tabela WHERE CEP REGEXP '^0[0-9]{7}$'
O que nossa REGEXP faz?
^0 : faz com que o MySQL olhe a partir do primeiro caractere e pegue apenas os valores com zero;
[0-9]{7} : após o primeiro caractere, que deve ser zero, pega os campos cujos próximos 7 valores sejam numéricos
$ : finaliza o REGEXP, ignorando tudo mais que venha depois dos oito caracteres numéricos indicados anteriormente.
O resultado da Query seria:
Nossa tabela possui a seguinte estrutura:
ID | Endereço | CEP |
---|---|---|
1 | Rua peruibe 459 | 05698426 |
2 | Rua martim 67 | - |
3 | Av Rebouças 1000 | 08968547 |
Para selecionar apenas as linhas que possuem CEP utilizamos a seguinte Query:
SELECT ID,ENDERECO,CEP FROM tabela WHERE CEP REGEXP '^0[0-9]{7}$'
O que nossa REGEXP faz?
^0 : faz com que o MySQL olhe a partir do primeiro caractere e pegue apenas os valores com zero;
[0-9]{7} : após o primeiro caractere, que deve ser zero, pega os campos cujos próximos 7 valores sejam numéricos
$ : finaliza o REGEXP, ignorando tudo mais que venha depois dos oito caracteres numéricos indicados anteriormente.
O resultado da Query seria:
ID | Endereço | CEP |
---|---|---|
1 | Rua peruibe 459 | 05698426 |
3 | Av Rebouças 1000 | 08968547 |
Abraço!
Comentários
Postar um comentário