Fórum Ordenar data quando é nula #333368

20/11/2006

0

Pessoal,

Preciso de uma dica, preciso fazer um controle de contas a receber, preciso listar em uma tela que mostre a data de vencimento e a data de pagamento, pórém deve ficar da seguinte maneira:

Ordenar por data de vencimento em ordem crescente e por data de pagamento em ordem decrescente.

O problema está justamente na data de pagamento, pois quanto ela não esta preenchida (null), o dbgrid joga elas para o final, e eu quero justamente ao contrário.

Gostaria que a tela ficasse mais ou menos assim:

DT VCTO.............DT PGTO
--------------------------------
15/11/2006
18/11/2006
30/11/2006
15/10/2006.........20/11/2006
14/11/2006.........20/11/2006
15/11/2006.........20/11/2006

Tem como fazer isto?

Abraços

Rodolfo

Utilizo Firebird 1.5, componentes dbexpres( sqlds, dsp, cds, ds ).


Rodolfo.pirolo

Rodolfo.pirolo

Responder

Posts

21/11/2006

Motta

order by (case when dt_pgto is null then 0 else 1 end),
dt_venc asc,
dt_pgto desc

acho que funciona, deve ter um jeito melhor , mas não conheço as functions do FB


Responder

Gostei + 0

21/11/2006

Steve_narancic

tente utilizar o coalesce:

order by coalesce(dt_pgto, ´01.01.1900´) 



Responder

Gostei + 0

21/11/2006

Rodolfo.pirolo

Motta,

Sua sugestão funcionou conforme eu queria.

steve_narancic

Sua sugestão funcionou também, porém quando coloquei o campo de data de vencimento, ele voltou a ficar como antes.

Aos dois, o meu muito obrigado pelas sugestões.

Abraços,

Rodolfo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar