Ordenar data quando é nula
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 ).
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
Curtidas 0
Respostas
Motta
20/11/2006
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
dt_venc asc,
dt_pgto desc
acho que funciona, deve ter um jeito melhor , mas não conheço as functions do FB
GOSTEI 0
Steve_narancic
20/11/2006
tente utilizar o coalesce:
order by coalesce(dt_pgto, ´01.01.1900´)
GOSTEI 0
Rodolfo.pirolo
20/11/2006
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
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
GOSTEI 0