quantidade de dias entre datas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qui, 29 Nov 2007 3:30 pm

Olá pessoal, mas uma vez dependo da sabedoria de vocês, pessoal estou com um probleminha meio urgente tenho que resolver até sexta a noite por isso peço uma ajuda URGENTE!

Bom tenho a datainicio e a datafim de um contrato

preciso num select que me traga a datainicio | ???????| datafim

nesse |???| seria o seguinte queria a quantidade de dias entre uma data e a outra mas usando o decode da seguinte forma que ele retorne os dias entre eles e acrecente no fim a palavra DIAS ex: 252 dias.

Pessoal já de ante mão agradeço a todos que prontamente irão responder.

Brigadão.
carlos12
Localização: rio

Mensagemem Qui, 29 Nov 2007 4:02 pm

E ai carlos, beleza??

segue ai um exemplo.

Código: Selecionar todos
  1  SELECT (   TO_CHAR (data_inicial, 'dd/mm/yyyy')
  2          || ' | '
  3          || FLOOR (TRUNC (data_final) - TRUNC (data_inicial))
  4          || ' dias | '
  5          || TO_CHAR (data_final, 'dd/mm/yyyy')
  6         ) dias
  7*   FROM mens_erro2
SQL> /

DIAS
-----------------------------------------------------------------------
29/11/2007 | 21 dias | 20/12/2007


[]'s
Tineks
Localização: Araraquara - SP

Cristiano (Tineks)
Araraquara - SP

Mensagemem Qui, 29 Nov 2007 9:49 pm

Meu amigo Cristiano (Tineks), cara estou sem palavras, eu estava afobado com a corda no pescoço pra entregar esse select contendo esse calculo e não sabia nem por onde começa, cara brigadão pelo carinho, tenho notado que você tem me ajudado muito além do restante do pessoal. Olha espero um dia por ajudar assim como vocês tem dado uma força ai pro pessoal, se um dia você pensar se vale apena dedicar um tempo pra esse forum lembre de mim, pois vale muito aqui tem pessoas que só estão almentando conhecimentos e pessoas que estão em busca mesmo de ajuda, as vezes muita das vezes recorrem á vários sites sem serem respondida ou muita das vezes até destratadas, vocês estão de parabéns mais uma vez MUITO OBRIGADO!
carlos12
Localização: rio

Mensagemem Qui, 29 Nov 2007 9:54 pm

Cristiano (Tineks)

JÁ IA ME ESQUECENDO HAHAH JÁ SÃO QUASE MEIA NOITE E JÁ ESTOU EM CASA DESCANSANDO OU PENSADO NOS SELECT DE AMANHÃ, RS você PODERIA ME DÁ UMA REVE ESPLICAÇÃO SOBRE CADA FORMA USADA NESSA FUNÇÃO DATA SÓ PRA MIM ENTENDER MELHOR?
carlos12
Localização: rio

Mensagemem Sex, 30 Nov 2007 7:30 am

E ai Carlos beleza??

cara, obrigado e pra mim é um prazer poder estar aqui no fórum, do jeito que vocês aprendem eu aprendo também, tem muita coisa q eu não sei e acabo apredendo vendo os outros posts, acho q o fórum é um dos melhores lugares pra se aprender, a diversidade de duvidas q tem é muito grande, então sempre acabamos vendo alguma coisa aqui q pouco tempo depois acabamos usando...

então, falando do select,
você disse q precisava da quantidade de dias, pra isso você pode fazer uma subtracao entre as datas, o resultado vai ser o seguinte.
Código: Selecionar todos
SQL> SELECT DATA_INICIAL, DATA_FINAL-DATA_INICIAL, DATA_FINAL FROM MENS_ERRO2
  2  /

DATA_INIC DATA_FINAL-DATA_INICIAL DATA_FINA
--------- ----------------------- ---------
29-NOV-07               21.001389 20-DEC-07

como você pode ver o nro de dias veio quebrado, eu coloquei o FLOOR pra forçar ele a arredondar pra baixo, por exemplo.
Código: Selecionar todos
SQL> SELECT DATA_INICIAL, FLOOR(DATA_FINAL-DATA_INICIAL), DATA_FINAL FROM MENS_ERRO2
  2 
SQL> /

DATA_INIC FLOOR(DATA_FINAL-DATA_INICIAL) DATA_FINA
--------- ------------------------------ ---------
29-NOV-07                             21 20-DEC-07

na consulta que eu te enviei eu também trunquei as datas, assim ele não leva em consideração a hora, minuto e segundo..
e o resto da consulta foi só concatenar as datas com esse resultado ai. :D

[]'s!!
Tineks
Localização: Araraquara - SP

Cristiano (Tineks)
Araraquara - SP

Mensagemem Sex, 30 Nov 2007 9:22 am

valeu CARA MAIS UMA VEZ PELA DICA, SOU SEU FÃ!!
carlos12
Localização: rio


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes