Oracle Interval

Em outros bancos ( Mysql ) temos algumas funções para calcular o intervalo de datas.
No oracle temos um tipo de dado chamado INTERVAL XXX TO YYY, neste tipo de dados armazenamos
uma faixa de tempo.

Os tipos de intervalo aceitos pelo Oracle são:

INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND

O primeiro armazena intervalos de anos e meses e no segundo de dias à segundos.

Vamos criar uma tabela que armazena esse tipo de dados (* favor ignorar normalização 🙂 ):

CREATE TABLE MANUTENCAO(
  DT_INICIO DATE,
  TMP_PARALIZACAO INTERVAL DAY TO SECOND
)

Observe que coloquei um campo identificando um intervalo de dias, horas , minutos e/ou segundos!

Agora veja como usamos o safado:

INSERT INTO MANUTENCAO VALUES ( SYSDATE+5, INTERVAL '0 02:10:00' DAY TO SECOND )

Traduzindo:
SYSDATE+5 será a data que iniciaremos a atividade.
INTERVAL ‘0 02:10:00’ DAY TO SECOND é um intervalo de 0 dias, 2 horas e 10 minutos.

Agora se vc quiser, pode somar as datas e ter o termino da pseudo manutenção!!!!

SELECT DT_INICIO+TMP_PARALIZACAO  FROM MANUTENCAO

Estarei explicando mais sobre YEAR TO MONTH no proximo post!

Deixe uma resposta