[firebase-br] RES: Consulta SQL

Carlos Phelippe carlos.phelippe em digilab.com.br
Ter Nov 25 14:07:52 -03 2014


Estou tentando montar a expressão:

 SiglaPrograma: Pode ter entre dois e 5 caracteres.
IDano: valor numérico por ano por sigla. (tamanho fixo em 3).
AnoMesDia: 141125, por exemplo, 25/11/2014

[A-Z]{2,5} //sigla com os caracteres entre A e Z tendo de 2 a 5
+_+ //Valor fixo
[0-9]{3} //ID numérico de tamanho fixo de 3 unidades.
+_+ //Valor fixo
14  //ano de 21014 (uso apenas o 14)
[0-9]{4} //resto da data (mesdia). Exemplo: 0807 (7 de agosto)

Dicas?

>
> Exemplo:
> ADB_005_141111_teste
> FD_500_111111_teste2
> CUDA_100_140809_teste3
> CUDA_101_140809_1413333333
________________________________________
De: lista [lista-bounces em firebase.com.br] em nome de Gladiston Santana [gladiston em vidy.com.br]
Enviado: terça-feira, 25 de novembro de 2014 10:14
Para: FireBase
Assunto: Re: [firebase-br] Consulta SQL

Olhando a grosso modo seria assim:
like '%_%_14%_%'

O que o Carlos disse está correto, usando expressões regulares, voce usaria
algo como [A-Z],[0-9],[:UPPER:],.. nas referidas posições onde queira alfa
ou numero,maiusculo,minusculo, insensitive,... dá para escrever expressões
regulares desde que a informação tenha sido concebida num padrão que torne
unico o jeito de agrupá-las ou encontrá-las. Para procurar emails invalido
basta uma expressão assim:

where
email not similar to
'^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$'
escape '\'


Se tiver o notepad++, o localizar dele tem esse recurso que você pode usar
em cima de seus exemplos para testar a sua busca.
Tem tambem sites na internet que explicam e até testam expressões regulares
para você experimentá-las no seu programa (http://www.regexp.com.br/).

inte+

Em 25 de novembro de 2014 08:31, Carlos Phelippe <
carlos.phelippe em digilab.com.br> escreveu:

> Olá pessoal,
> tenho um campo string que tem a seguinte regra para sua formação:
>
> SiglaPrograma_IDano_ANOMESDIA_nome onde:
>
> SiglaPrograma: Pode ter entre dois e 5 caracteres.
> IDano: valor numérico por ano por sigla.
> AnoMesDia: 141125, por exemplo, 25/11/2014
>
> Exemplo:
> ADB_005_141111_teste
> FD_500_111111_teste2
> CUDA_100_140809_teste3
> CUDA_101_140809_1413333333
>
> Preciso fazer uma consulta onde tenha como retorno todos do ano 2014. Como?
>
> Select nome from materia where nome like '%_14' pelo último exemplo não
> funciona :(
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista