Página 1 de 1

quantidade de dias entre datas

Enviado: Qui, 29 Nov 2007 3:30 pm
por carlos12
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.

Enviado: Qui, 29 Nov 2007 4:02 pm
por Tineks
E ai carlos, beleza??

segue ai um exemplo.

Selecionar tudo

  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

Enviado: Qui, 29 Nov 2007 9:49 pm
por carlos12
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!

Enviado: Qui, 29 Nov 2007 9:54 pm
por carlos12
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?

Enviado: Sex, 30 Nov 2007 7:30 am
por Tineks
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 tb, 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.

Selecionar tudo

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.

Selecionar tudo

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 tb 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!!

Enviado: Sex, 30 Nov 2007 9:22 am
por carlos12
valeu CARA MAIS UMA VEZ PELA DICA, SOU SEU FÃ!!