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
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

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.
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

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
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

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
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

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?
Tineks
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 365
Registrado em: Ter, 24 Mai 2005 2:24 pm
Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP

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!!
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

valeu CARA MAIS UMA VEZ PELA DICA, SOU SEU FÃ!!
Responder
  • Informação
  • Quem está online

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