[firebase-br] RES: Select com datas

Oliveira, José Augusto Siqueira de contabil em sivolc.ind.br
Sáb Nov 5 12:21:02 -03 2011


Porque voce não tenta se parâmetro tipo assim : (datainicio <= current_date
) and (datafinal >= current_date)

Digamos que a data de hoje e 05/11/2011 e DataInicio 01/11/2011 e DataFinal
10/11/2011

Seria :

	(01/11/2011 <= 05/11/2011) and (10/11/2011 >= 05/11/2011) iria
retornar o que voce gostaria não ? 

Ou poderia substituir o current_date por apenas um parametro e passar a data
do dia para ele via  Delphi.  

Oliveira, José Augusto Siqueira de
Sivolc  Móveis e Complementos
(32) 3531-4677 
contabil em sivolc.ind.br

"Aviso de confidencialidade profissional" - Esta mensagem eletrônica e seus
anexos são destinados exclusivamente ao(s) destinatário(s) acima e podem
conter informações confidenciais sujeitas a restrição legal de comunicação
entre as partes. Caso tenha recebido esta mensagem por engano, fica V.Sa.
ciente de que a distribuição, divulgação ou disseminação das informações
aqui contidas ou anexadas é terminantemente proibida, sujeitando o
responsável às penalidades aplicáveis. Assim, solicitamos a gentileza de
retorná-la de imediato ao remetente, eliminando-a definitivamente de seu
sistema. Em caso de dúvida, queira por favor entrar em contato conosco." 

"Confidentiality notice" - This message and its attachments are addressed
solely to the persons above and may contain privileged and confidential
communication. If you have received the message in error, the distribution
or dissemination of the content hereof is prohibited. Please return it
immediately to the sender and please delete the message from your system on
a permanent basis. Should you have any questions, please contact."

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Pedro Leonardo
Enviada em: sábado, 5 de novembro de 2011 11:55
Para: FireBase
Assunto: Re: [firebase-br] Select com datas

Pessoal tentei assim :

           QueryBusca.Close;
           QueryBusca.SQL.Clear;
           QueryBusca.SQL.Text := 'select * from Registro where Cod =:P00 
and :pDataAtual between DataInI and DataFim';
           QueryBusca.ParamByName('P00').AsString:= trim(EdtCodigo.Text);
           QueryBusca.ParamByName('pDataAtual').AsDate:= DATE;
           QueryBusca.ParamByName('DATAINI').AsDate:= DateDataINI.Date; //
           QueryBusca.ParamByName('DATAFIM').AsDate:= DateDataFim.Date ; //
           QueryBusca.Open;

Retorna um erro dizendo    "Parameter DataIni not found  (nao encontrado)"

Oque pode ser?

Obrigado
Leonardo



--------------------------------------------------
From: "Anticlei Scheid" <clei em geous.com.br>
Sent: Saturday, November 05, 2011 11:27 AM
To: "FireBase" <lista em firebase.com.br>
Subject: Re: [firebase-br] Select com datas

> Bom dia Leonardo
>
> Você inverteu os sinais de > e <, veja a correção :
>
> select * from Registro where Cod =:P00 and DataInicio <= :pDataAtual and
> DataFim >= :pDataAtual
>
> que é equivalente a :
>
> select * from Registro where Cod =:P00 and  :pDataAtual >= DataInicio
> and :pDataAtual
> <= DataFim
>
> mais fácil de entender e equivalente a :
>
> select * from Registro where Cod =:P00 and :pDataAtual between DataInicio
> and DataFim
>
> e não precisa usar dois parâmetro para a data atual (P01 E P02) pode usar
> somente um, pois se usar dois eles vão ter o mesmo valor : a data de hoje
> por exemplo
>
>
> Abraço
>
> Clei
> Geous Consultoria e Sistemas
>
>
> Em 5 de novembro de 2011 09:51, Pedro Leonardo 
> <pleonardomv em bol.com.br>escreveu:
>
>> Pessoal, estou tentando fazer um select usando datas e não encontrei
>> solucao
>>
>> Tenho um produto cadastrado com a data de vigência do mesmo. Tipo
>>
>> vDataIni = data inicial de vigência do produto
>> vDataFim = Data final de vigência do produto
>>
>> Preciso fazer um select para comparar se a data de hoje está entre a data
>> inicial e final, mas nao posso usar between
>>
>> Exemplo:
>>
>> QueryBusca.SQL.Text := 'SELECT * FROM REGISTRO WHERE Cod =:P00 and
>> DATAINICIO >:P01  AND DATAFIM  <: P02  ';
>>
>> Mas não retorna nada porque essa logica está errada. Teria como usar um 
>> OR
>> no lugar de AND?
>>
>> Obrigado
>> Leonardo
>>
>>
>>
>>
>> ______________________________**________________
>> 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<http://www.firebase.com.b
r/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: 
>> http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>
> ______________________________________________
> 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 


______________________________________________
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