Data atual no ORACLE – sysdate / getdate

No Oracle temos uma função muito útil para a obtenção de datas. Esta função é o SYSDATE!

para obter a data atual “do oracle” basta fazer

SELECT SYSDATE FROM DUAL;

O SYSDATE do ORACLE retorna a data obtida pelo oracle do servidor. Porém vc pode forçar o uso de outras datas e horas em sua sessão. ( explicarei em posts futuros )

Como fazer calculos com SYSDATE?

No banco oracle temos um conceito interessante: cada unidade representa um dia ( ~24h ).
Ou seja, se eu quiser mostrar a data de amanhã posso fazer:

SELECT SYSDATE+1 FROM DUAL

Acima, eu solicitei que o oracle mostre a data de hoje mais uma unidade ( ~24h ) que dará o mesmo de amanhã.

Para calcular horas minutos ou segundos basta trabalhar um pouquinho na matemática:

SELECT SYSDATE+1/24 FROM DUAL

Se cada unidade representa 24h então se dividirmos a unidade por 24 teremos as horas!
Logo, na expressão anterior vamos retornar o horário daqui a 1 hora.

OBS.:

Para utilizar como parâmetro de comparação em selects, podemos utilizar o SYSDATE, adicionando ou subtraindo dias ou horas.

— Ex.: Consulta tabela CLIENTE onde o campo DATA_CADASTRO for maior ou igual que 5 dias atrás.

SELECT * FROM CLIENTE WHERE DATA_CADASTRO >= SYSDATE-5;

Fonte: http://www.dartanghan.com.br/oracle-plsql/oracle-sysdate/

Deixe um comentário