[firebase-br] Select no Win7 64

Gladiston Santana gladiston em vidy.com.br
Seg Nov 26 11:44:24 -03 2012


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 há
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>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



Mais detalhes sobre a lista de discussão lista