Diferença entre datas (em segundos)

Oracle

05/07/2006

Pessoal,

Existe alguma função no oracle que me retorne a diferença de segundos entre duas datas Ex:

02/01/2006 11:00:00 - 02/01/2006 11:00:01 = 86401

Essas datas estão em uma tabela

Att.

Flávio


Fgtoledo

Fgtoledo

Curtidas 0

Respostas

Motta

Motta

05/07/2006

uma diferença entre datas é o nº de dias entre elas.

multiplique por 24 para obter em horas
multiplique por 60 para obter em minutos
multiplique por 60 para obter em segundos

ex:
select (((sysdate) - (sysdate-1)) * 24 * 60 * 60) from dual


GOSTEI 0
Rosterne

Rosterne

05/07/2006

select d, d1, to_timestamp(d , ´dd/mm/yy hh24:mi:ss´) - to_timestamp(d1 , ´dd/mm/yy hh24:mi:ss´) from hoje


GOSTEI 0
Fgtoledo

Fgtoledo

05/07/2006

Renato,

Tentei utilizar o seu exemplo, mas ele retorna um erro de nome de coluna inválido, o problema está na função:
´to_timestamp´


GOSTEI 0
Rosterne

Rosterne

05/07/2006

D e D1 sao campos da tabela Hoje.

A syntaxe seria:

* Caso seu campo Date nao esteja no formato de horas:
ALTER SESSION SET NLS_DATE_FORMAT = ´DD/MM/YY HH24:MI:SS´;

* select CAMPO1, CAMPO2, to_timestamp(CAMPO1 , ´dd/mm/yy hh24:mi:ss´) - to_timestamp(CAMPO2 , ´dd/mm/yy hh24:mi:ss´) from TABELA;


Abraço.


GOSTEI 0
Fgtoledo

Fgtoledo

05/07/2006

Renato,

As colunas estão no formato data/hora.
Não consiguo entender, pois continua dando o mesmo erro, ele acha que
´ to_timestamp´ é uma coluna e não função

Abs,

Flávio


GOSTEI 0
Fgtoledo

Fgtoledo

05/07/2006

Renato,

As colunas estão no formato data/hora.
Não consiguo entender, pois continua dando o mesmo erro, ele acha que
´ to_timestamp´ é uma coluna e não função

Abs,

Flávio


GOSTEI 0
Rosterne

Rosterne

05/07/2006

fgtoledo,

esse exemplo que citei, seria pra uma tabela que tem campos no formato DATE, ou seja:

to_timestamp(CAMPO1 , ´dd/mm/yy hh24:mi:ss´) --> CAMPO1 é um campo DATE e estou passando ele pra timestamp no formato ´dd/mm/yy hh24:mi:ss´.

O erro pode está ocorrendo, devido ao tipo do campo que você usou pra armazenar a data e a hora.

Qual erro que está dando?

ORA-xxxx?


GOSTEI 0
Fgtoledo

Fgtoledo

05/07/2006

Renato,

O campo é tipo date (está armazenando data e hora no formato ´dd/mm/yy hh24:mi:ss´),

A query

select to_timestamp(data , ´dd/mm/yy hh24:mi:ss´) from testes

Retorna:

ORA-00904 - nome de coluna inválido


GOSTEI 0
Rosterne

Rosterne

05/07/2006

Faça um upgrade para versão Oracle9i 9.0.1.4 ou superior.


Abraço.


GOSTEI 0
POSTAR