Re: [oracle_br] Obter a media de dois campos

2007-05-11 Por tôpico Marcio Portes
SQL> select trunc(dt) dias,
  2 to_char(trunc(sysdate) + mod(dt, trunc(dt)),'hh24:mi') horas
  3from (
  4  select sysdate - trunc(sysdate-1) dt
  5from dual
  6  )
  7  /

 DIAS HORAS
- -
1 10:53

1 row selected.


O que fiz acima foi: subtrair uma data de outra (4), ou seja, agora
(sysdate) menos ontem (sysdate-1) a meia-noite (trunc()), portanto o
resultado seria:

SQL> select sysdate - trunc(sysdate-1) dt from dual;

   DT
-
1,45509259259

1 row selected.

A parte inteira são os dias e o fracionado, a fração do dia. Nesta fração
estão compreendidos horas, minutos e segundos, basta voce arranjar da
maneira que quiser. Então, peguei a parte inteira trunc(dt) e mostrei como
dias.

SQL> select trunc(dt)
  2from (
  3  select sysdate - trunc(sysdate-1) dt from dual
  4  )
  5  /

TRUNC(DT)
-
1

1 row selected.

E a parte fracionada - mod(dt, trunc(dt) - resto da divisão do resultado
"dt" pelo inteiro "trunc(dt)" vai me sobrar exatamente a parte decimal.

SQL> select mod(dt, trunc(dt))
  2from (
  3  select sysdate - trunc(sysdate-1) dt from dual
  4  );

MOD(DT,TRUNC(DT))
-
,460752314815

1 row selected.

(Só lembrando que o resultado está mudando porque estou fazendo as queries
enquanto respondo).
Daí eu somei essa parte decimal a zero hora de qualquer dia, exemplo hoje -
trunc(sysdate) + mod(dt, trunc(dt)).

SQL> select trunc(sysdate) + mod(dt, trunc(dt))
  2from
  3  ( select sysdate - trunc(sysdate-1) dt from dual );

TRUNC(SYSDATE)+MOD(
---
11/05/2007 11:06:01

1 row selected.

Finalmente, mostrei como hora:minuto - to_char(trunc(sysdate) + mod(dt,
trunc(dt)), 'hh24:mi'). Como demonstrado acima.


On 5/11/07, Carlos Eduardo Goncalves <[EMAIL PROTECTED]> wrote:
>
> Marcio,
>
>Em Horas e Dias.
>
> Att
>
> *Marcio Portes < [EMAIL PROTECTED]>* escreveu:
>
>   Diferença em que unidade? Dias? Horas? Minutos? Segundos???
>
> On 5/10/07, cegoncalvesvr < [EMAIL PROTECTED]>
> wrote:
> >
> > Amigos,
> >
> > Preciso obter o valor entre dois campos do tipo "date"
> >
> > Ex:
> > to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
> > Preciso saber a diferença entre esses 02 campos.
> > o select acima ta com erro, não roda.
> >
> > Alguem pode me ajudar?
> >
> > Abraços.
> >
> >
> >
>
> --
> Marcio Portes
> Material Tecnico em Portugues - http://mportes.blogspot.com
> Practical Learning Oracle -
> http://mportes.blogspot.com/2006/02/practical-learning-oracle.html
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>
>
> __
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>



-- 
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


-- 
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [oracle_br] Obter a media de dois campos

2007-05-11 Por tôpico Carlos Eduardo Goncalves
E verdade,
  Mas quando este caso acontecer vou trata-los de outra forma.
   
  Abs,

Rafael Milanez <[EMAIL PROTECTED]> escreveu:
  E quando ocorrer assim

10-01-2007 20:00 - 02-01-2007 18:00 vai retornar 2hs ? porque na verdade a 
diferença não é essa seria muito mais, pois não esta levando em conta o período 
inteiro

teria que calcular com os dias também e trazer o retorno e horas !!!

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de 
cegoncalvesvr
Enviada em: quinta-feira, 10 de maio de 2007 19:09
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Obter a media de dois campos

Amigos,

Preciso obter o valor entre dois campos do tipo "date"

Ex: 
to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
Preciso saber a diferença entre esses 02 campos.
o select acima ta com erro, não roda.

Alguem pode me ajudar?

Abraços.

[As partes desta mensagem que não continham texto foram removidas]



 

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Obter a media de dois campos

2007-05-11 Por tôpico Cristiano Becker

Tenta assim e utiliza o que melhor se encaixar para você:

with d as (
select to_date('10/01/2007 20:00:00', 'dd/mm/ hh24:mi:ss')
 - to_date('02/01/2007 18:00:00', 'dd/mm/ hh24:mi:ss') x
   from dual
 )
 select x * 24 horas,
x * 24 * 60 minutos,
x * 24 * 60 * 60 segundos
  from d
/

HORASMINUTOS   SEGUNDOS
   -----
   194 11640   698400

Cristiano Becker
Depto. Informática Cotrijal

  - Original Message - 
  From: Rafael Milanez 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Friday, May 11, 2007 9:45 AM
  Subject: RES: [oracle_br] Obter a media de dois campos


  E quando ocorrer assim

  10-01-2007 20:00 - 02-01-2007 18:00 vai retornar 2hs ? porque na verdade a 
diferença não é essa seria muito mais, pois não esta levando em conta o período 
inteiro

  teria que calcular com os dias também e trazer o retorno e horas !!!

  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de 
cegoncalvesvr
  Enviada em: quinta-feira, 10 de maio de 2007 19:09
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] Obter a media de dois campos

  Amigos,

  Preciso obter o valor entre dois campos do tipo "date"

  Ex: 
  to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
  Preciso saber a diferença entre esses 02 campos.
  o select acima ta com erro, não roda.

  Alguem pode me ajudar?

  Abraços.

  [As partes desta mensagem que não continham texto foram removidas]



   

---
Esta mensagem pode conter informacoes confidenciais ou privilegiadas.
Se voce recebeu esta mensagem por engano, voce nao deve usar, copiar,
divulgar ou tomar qualquer atitude com base nestas informacoes.

Solicitamos que voce  apague a mensagem e avise imediatamente pelo endereco
[EMAIL PROTECTED]
Opinioes, conclusoes ou informacoes nesta mensagem nao necessariamente refletem
a posicao oficial da Empresa.
---

[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Obter a media de dois campos

2007-05-11 Por tôpico Rafael Milanez
E quando ocorrer assim

 

10-01-2007 20:00 - 02-01-2007 18:00 vai retornar 2hs ? porque na verdade a 
diferença não é essa seria muito mais, pois não esta levando em conta o período 
inteiro

 

teria que calcular com os dias também e trazer o retorno e horas !!!

 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de 
cegoncalvesvr
Enviada em: quinta-feira, 10 de maio de 2007 19:09
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Obter a media de dois campos

 

Amigos,

Preciso obter o valor entre dois campos do tipo "date"

Ex: 
to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
Preciso saber a diferença entre esses 02 campos.
o select acima ta com erro, não roda.

Alguem pode me ajudar?

Abraços.

 



[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Obter a media de dois campos

2007-05-10 Por tôpico Ademir Roque Maneira
Veja se ajuda


  1* select (to_date('19:30', 'hh24:mi') - to_date('15:00', 
'hh24:mi'))*24 from dual
SQL> /

(TO_DATE('19:30','HH24:MI')-TO_DATE('15:00','HH24:MI'))*24
--
   4,5

SQL>

Marcio Portes escreveu:
>
> Diferença em que unidade? Dias? Horas? Minutos? Segundos???
>
> On 5/10/07, cegoncalvesvr <[EMAIL PROTECTED] 
> > wrote:
> >
> > Amigos,
> >
> > Preciso obter o valor entre dois campos do tipo "date"
> >
> > Ex:
> > to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
> > Preciso saber a diferença entre esses 02 campos.
> > o select acima ta com erro, não roda.
> >
> > Alguem pode me ajudar?
> >
> > Abraços.
> >
> >
> >
>
> -- 
> Marcio Portes
> Material Tecnico em Portugues - http://mportes.blogspot.com 
> 
> Practical Learning Oracle -
> http://mportes.blogspot.com/2006/02/practical-learning-oracle.html 
> 
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  




Re: [oracle_br] Obter a media de dois campos

2007-05-10 Por tôpico Marcio Portes
Diferença em que unidade? Dias? Horas? Minutos? Segundos???

On 5/10/07, cegoncalvesvr <[EMAIL PROTECTED]> wrote:
>
>   Amigos,
>
> Preciso obter o valor entre dois campos do tipo "date"
>
> Ex:
> to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
> Preciso saber a diferença entre esses 02 campos.
> o select acima ta com erro, não roda.
>
> Alguem pode me ajudar?
>
> Abraços.
>
>  
>



-- 
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


[As partes desta mensagem que não continham texto foram removidas]



[oracle_br] Obter a media de dois campos

2007-05-10 Por tôpico cegoncalvesvr
Amigos,

   Preciso obter o valor entre dois campos do tipo "date"

Ex: 
to_char(p.hr_ped_lab, 'hh24:mi') - to_char(i.hr_laudo, 'hh24:mi')
Preciso saber a diferença entre esses 02 campos.
o select acima ta com erro, não roda.

Alguem pode me ajudar?

Abraços.