Como comparar duas datas no oracle?

6 respostas
R

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;

6 Respostas

Thiago_MuiLoko

faz um to_char

R

Ficaria asism:

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

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

R

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

Filipe_Chagas


=D

bruno.fantin

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

if trunc(data_pagamento) > trunc(data_vencimento) then

falou.

R

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;

Criado 9 de agosto de 2010
Ultima resposta 10 de ago. de 2010
Respostas 6
Participantes 4