Como comparar duas datas no oracle?

Olá,

preciso fazer uma comparação entre duas datas. Já tentei assim, mas não funcionou:

if (data_pagamento > data_vencimento) then
dias := data_pagamento - data_vencimento;
else
dias := 0;
end if;

faz um to_char

Ficaria asism:

data1 := TO_CHAR(:data_pagamento,‘DD-MM-YYYY’));
data2 := TO_CHAR(:data_vencimento,‘DD-MM-YYYY’));

if (data1 > data2) then
etc . . . . .

fiz a conversão e funcionou, mas como vou diminuir uma data da outra se elas estão como char?


=D

Seu problema deve ser com as horas. Retira elas usando trunc

if trunc(data_pagamento) > trunc(data_vencimento) then

falou.

Olá,

Consegui fazer assim:

data1 := TO_CHAR(data_pagamento,‘DD-MM-YYYY’);
data2 := TO_CHAR(data_vencimento,‘DD-MM-YYYY’);

if (data1 > data2) then
select to_date(data1, ‘dd-mm-yyyy’) - to_date(data2, ‘dd-mm-yyyy’) into dias from dual;