A data de garantia começa a contar a partir de quando? Em 5 de fevereiro de 2018 15:42, Eduardo Perdomo [email protected] [oracle_br] <[email protected]> escreveu:
> > > Conseguem ver essa imagem : https://ibb.co/eZ1Y1H > > 2018-02-05 15:57 GMT-02:00 [email protected] [oracle_br] < > [email protected]>: > >> >> >> Colega, ** PLEASE ** explica pra gente : essa tal coluna p.prazogarantia >> é um Número, ou uma Data, ou o que ?? E SE for um Número, ele representa >> qtdade de DIAS, de MESES, de ANOS, ou o que ??? E essa tal outra coluna >> f.dtsaida , é REALMENTE uma coluna com datatype DATE ??? >> Isso é *** CRÍTICO *** a gente saber, pois no RDBMS Oracle SYSDATE >> retorna uma data , e uma substração ou Adição entre DATAs retorna um número >> FRACIONÁRIO que é o número de dias MAIS a fração de um dia decorrido... >> >> ==> SE REALMENTE essa coluna prazogarantia for o NÚMERO DE DIAS da >> garantia, contados a partir da coluna dtsaida que REALMENTE é uma DATA e >> não algum tipo de string, MUITO PROVAVELMENTE teu erro tá no FATO de que >> dtsaida é uma DATA DO PASSADO, e (ÓBVIO!!!) data de hoje - data do passado >> *** NUNCA ** vai dar negativo, exemplo : >> >> => hoje é dia 05/02/2018 : >> >> scott@BD_TESTE:SQL>select to_char(sysdate, 'dd/mm/yyyy') from dual; >> >> TO_CHAR(SY >> ---------- >> 05/02/2018 >> >> scott@BD_TESTE:SQL> >> >> ==> crio a tabela e insiro uns dadinhos de testes : >> >> scott@BD_TESTE:SQL>create table TAB_TESTE_GARANTIA ( >> 2 CODPROD number, >> 3 DTSAIDA date, >> 4 PRAZOGARANTIA number ); >> >> Tabela criada. >> >> ==> Insiro dois registros, um dentro e outro fora da qtdade de dias >> especificada : >> >> scott@BD_TESTE:SQL>insert into TAB_TESTE_GARANTIA values(1, >> TO_DATE('05/01/2018', 'dd/mm/yyyy'), 90); >> >> 1 linha criada. >> >> scott@BD_TESTE:SQL>insert into TAB_TESTE_GARANTIA values(2, >> TO_DATE('05/01/2015', 'dd/mm/yyyy'), 100); >> >> 1 linha criada. >> >> ==> Taí o resultado : >> >> scott@BD_TESTE:SQL>select codprod, dtsaida, prazogarantia, sysdate - >> dtsaida qtd_dias from TAB_TESTE_GARANTIA; >> >> CODPROD DTSAIDA PRAZOGARANTIA QTD_DIAS >> --------- ------------------- ------------- --------- >> 1 05/01/2018 00:00:00 90 31,661065 >> 2 05/01/2015 00:00:00 100 1127,6611 >> >> scott@BD_TESTE:SQL> >> >> ==> Vc estaria CERTO em perguntar por negativo apenas se vc estivesse >> fazendo data do passado menos data de hoje : >> >> scott@BD_TESTE:SQL>select codprod, dtsaida, prazogarantia, dtsaida - >> sysdate qtd_dias from TAB_TESTE_GARANTIA; >> >> CODPROD DTSAIDA PRAZOGARANTIA QTD_DIAS >> --------- ------------------- ------------- --------- >> 1 05/01/2018 00:00:00 90 -31,66343 >> 2 05/01/2015 00:00:00 100 -1127,663 >> >> scott@BD_TESTE:SQL> >> >> []s >> >> Chiappa >> > > > > -- > > Eduardo Perdomo > Consultor de Implantação > Grupo PC Sistemas - www.grupopc.com.br > (21) 6845-8592 > [email protected] > [email protected] > Blog: eduardo.perdomo.nom.br > > > -- [image: photo] *Tércio Costa, * *Oracle Certified SQL Expert, ACE Associate* Analista de Dados, Unimed João Pessoa m:+55 83 9 9915 9168 <+55+83+9915+9168> | w: https://oraclepress.wordpress.com/ <http://oraclepress.wordpress.com/> | <http://plus.google.com/+TércioCosta> <http://br.linkedin.com/in/terciocosta>
