[firebase-br] Select no Win7 64

Pedro Leonardo pleonardomv em bol.com.br
Seg Nov 26 13:58:59 -03 2012


Gladiston, fiz o select igual vc me orientou, porem funciona no Win7 32, mas 
quando rodo  no Win7 64 não retorna registro nenhum

'SELECT * FROM REGISTRO WHERE Cod =:pCODIGO and Cast(:pDATAHOJE AS 
Timestamp) >= CAST (DataIni AS Timestamp) and :pDATAHOJE <= CAST (DataFim AS 
Timestamp)';

Vc já pssou por isso?

Obrigado
Pedro Leonardo

--------------------------------------------------
From: "Gladiston Santana" <gladiston em vidy.com.br>
Sent: Monday, November 26, 2012 1:13 PM
To: "FireBase" <lista em firebase.com.br>
Subject: Re: [firebase-br] Select no Win7 64

> Usa assim, ao inves de :
> a BETWEEN b AND c
> equivale a dizer a >= b AND a<=c
>
> ao inves de (detesto clausula NOT, é matematicamente mais confusa) :
> a NOT BETWEEN b AND c
> equivale a escrever a <b OR a>c
>
> Apenas use CAST para ter todos os valores em forma de data, campos
> timestamp+date geram resultados timestamp e isso confunde no final porque
> "a< 31/01/2013" se transforma em "a<31/01/2013 00:00:00"  daí o dia 31 
> fica
> fora do resultado da query, isso serve para between tambem.
>
>
> Gladiston Santana
> Departamento de TI
> Grupo Vidy
> Tel (11) 4787-3122 ramal 228
> Rod. Régis Bittencourt 3360 - Km 272,5
> Taboão da Serra - SP - CEP: 06793-000
> Visite nosso site: www.vidy.com.br
> Visite também : www.expolabor.com.br
>
>
>
>
>
> Em 26 de novembro de 2012 12:55, Pedro Leonardo
> <pleonardomv em bol.com.br>escreveu:
>
>> Então qual a instrução vocês aconselham usar para retornar os registros
>> que estão entre duas datas?
>>
>> Obrigado
>> Leonardo
>>
>> ------------------------------**--------------------
>> From: "Gladiston Santana" <gladiston em vidy.com.br>
>> Sent: Monday, November 26, 2012 11:44 AM
>> To: "FireBase" <lista em firebase.com.br>
>>
>> Subject: Re: [firebase-br] Select no Win7 64
>>
>>  Predicativos tem sua forma regular de uso, você não pode parametrizar da
>>> forma como foi feita.
>>> Naquele caso, só a semantica >=< no lugar do between, mesmo assim
>>> aplicando
>>> um cast para transformá-los em date.
>>>
>>> Quando algo não está na sua forma regular (eu gosto do tradicional 
>>> ANSI),
>>> pode funcionar, mas não há garantias que continuaria a funcionar no 
>>> futuro
>>> na forma que se espera ou em banco de dados diferente.
>>> Pessoalmente, uso o between apenas em if ou case, mesmo assim quando não
>>>>>> risco de entrar nulo na equação, cada banco tem um jeito diferente de
>>> lidar
>>> com nulos usando predicativos, contudo usando a semantica >=<, sempre 
>>> que
>>> entra um nulo nas contas, todo o restante vira nulo.
>>>
>>> inte+
>>>
>>>
>>>
>>> Gladiston Santana
>>> Departamento de TI
>>> Grupo Vidy
>>> Tel (11) 4787-3122 ramal 228
>>> Rod. Régis Bittencourt 3360 - Km 272,5
>>> Taboão da Serra - SP - CEP: 06793-000
>>> Visite nosso site: www.vidy.com.br
>>> Visite também : www.expolabor.com.br
>>>
>>>
>>>
>>>
>>>
>>> Em 26 de novembro de 2012 10:29, Tecnobyte Informática <
>>> temp2 em tecnobyte.com.br> escreveu:
>>>
>>>  Olá Gladiston
>>>>
>>>> O que exatamente você considera errado neste SQL? Eu tenho uma situação
>>>> como esta abaixo e funciona normalmente:
>>>>
>>>> SELECT ... FROM ContaReceber
>>>> WHERE CURRENT_DATE BETWEEN DataEmissao AND DataPagto
>>>>
>>>> Isto retorna todas as contas a receber em que:
>>>>
>>>> - data de emissão é menor ou igual à data corrente
>>>> e
>>>> - data do pagamento é maior ou igual à data corrente.
>>>>
>>>> Atenciosamente.
>>>>
>>>> Daniel P. Guimarães
>>>> Tecnobyte Informática
>>>> www.tecnobyte.com.br
>>>>
>>>> -----Mensagem Original----- From: Gladiston Santana
>>>> Sent: Monday, November 26, 2012 7:31 AM
>>>> To: FireBase
>>>>
>>>> Subject: Re: [firebase-br] Select no Win7 64
>>>>
>>>> Olhando assim, não deveria funcionar em ambos.
>>>> Tanto o uso de query parametrizada quanto a clausula between estão
>>>> erradas.
>>>> Não vejo como isso daí teria funcionado no win32.
>>>>
>>>> Em 23 de novembro de 2012 19:21, Pedro Leonardo
>>>> <pleonardomv em bol.com.br>****escreveu:
>>>>
>>>>
>>>>  Pessoal. porque esse select não funciona no Win 7 64? No 32 funciona
>>>>
>>>>> legal...
>>>>>
>>>>>   QueryBuscaCom.Close;
>>>>>   QueryBuscaCom.SQL.Clear;
>>>>>   QueryBuscaCom.SQL.Text := 'SELECT * FROM REGISTRO WHERE Cod 
>>>>> =:pCODIGO
>>>>> and :pDATAHOJE between DataIni and DataFim';
>>>>>   QueryBuscaCom.ParamByName('******pCODIGO').AsString:=
>>>>> trim(ComboArq.Text);
>>>>>   QueryBuscaCom.ParamByName('******pDATAHOJE').AsDateTime:= now; //
>>>>>
>>>>>
>>>>>   QueryBuscaCom.Open;
>>>>>
>>>>> Alguma dica?
>>>>>
>>>>> 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.br/fb/**artigo.php?id=1107>
>>>> <http://**www.firebase.com.br/fb/artigo.**php?id=1107<http://www.firebase.com.br/fb/artigo.php?id=1107>
>>>> >
>>>> Para consultar mensagens antigas: 
>>>> http://firebase.com.br/****pesquisa<http://firebase.com.br/**pesquisa>
>>>> <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<http://www.firebase.com.br/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<http://www.firebase.com.br/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 





Mais detalhes sobre a lista de discussão lista