veja... SQL> SELECT ROUND(MONTHS_BETWEEN('12/09/2005','01/07/2001') * 30) FROM DUAL;
ROUND(MONTHS_BETWEEN('12/09/20 ------------------------------ 1511 sds Gibon ----- Original Message ----- From: Alessandro To: oracle_br@yahoogrupos.com.br Sent: Monday, August 17, 2009 6:20 PM Subject: [oracle_br] Re: DIFERENÇA DE DATAS Tenho o normal SELECT TO_DATE('12/09/05') - TO_DATE('01/07/01') FROM DUAL que está dando 1534 Dias , mas se for pelo Ano comercial teria 1511 Dias. Preciso que a resposta seja em dias. ----- Original Message ----- From: jlchiappa To: oracle_br@yahoogrupos.com.br Sent: Monday, August 17, 2009 6:12 PM Subject: [trabalho] [oracle_br] Re: DIFERENÇA DE DATAS Não há nenhuma built-in pronta pra isso no bd Oracle, mas iirc o "ano comercial" é uma abstração aonde o ano tem 360 dias dividido em 12 meses de 30 - sendo assim, afaik Se vc fizer (sem 'trunc' nenhum') simplesmente data2 - data1 o bd Oracle te dá o número de DIAS corridos, junto com a fração de dias, se vc quiser saber quantos "meses comerciais" é dividir por 30 o número inteiro de dias.... CASO não seja isso, por favor dê um exemplo do que vc quer, que não deve ser nada muito complexo, imagino... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Alessandro" <alessan...@...> escreveu > > Boa Tarde > > Preciso substrai uma data pela outra. O normal é fazer isso: SELECT TRUNC(SYSDATE) - TO_DATE('01/01/09') FROM DUAL > Até ai normal, só que preciso fazer isso utilizando o ano comercial ou seja cada mês tem 30 dias. > Alguém possui alguma rotina p/ fazer isso. > > Desde já muito obrigado. > Alessandro. > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]