Quando trabalhamos com datas no Oracle temos que ter muito conhecimento sobre as características do DataType ‘Date’ e também as funções que acercam esse tipo de dado.

Nesse artigo apresento alguns conceitos teóricos e exemplos práticos.

Data Type

Quando você for criar um campo dentro de uma tabela que deverá armazenar conteúdo em formato de data, utilize o data type ‘Date’.Exemplo:

Data e Hora no Oracle - Exemplo 1

Data do Sistema

Para você saber qual é a data atual do servidor de banco de dados é só você utilizar o comando abaixo. Exemplo:

Data e Hora no Oracle - Exemplo 2

Formato

Para você conseguir visualizar o conteúdo em outros formatos, inclusive visualizando horário, o Oracle nos oferece uma função chamada TO_CHAR e através dela informando o formato desejado conseguimos ter mais controle da informação. Exemplo:

Data e Hora no Oracle - Exemplo 3

Principais opções de formatação:

Data e Hora no Oracle - Exemplo 4

Funções

O Oracle Database também nos oferece algumas funções específicas para trabalharmos com datas. Exemplo:

MONTHS_BETWEEN: qual é o número de meses entre duas datas.

Entre 12-Junho-2007 e 25-Dezembro-2007 temos 6 meses e alguns dias.

Data e Hora no Oracle - Exemplo 5

ADD_MONTHS: adiciona meses na data informada.

Nesse caso a data informada foi 12-Junho-2007 e adicionando 5 meses a data resultante é 12-Novembro-2007.

Data e Hora no Oracle - Exemplo 6

NEXT_DAY: qual é o próximo dia da semana a partir da data informada

Nesse caso estou passando como argumento o dia 10-Setembro-2007 e estou querendo saber qual será o dia da próxima “Sexta-Feira” após a data informada.

Data e Hora no Oracle - Exemplo 7

LAST_DAY: qual é o último dia do mês.

Estou informando dia 16-Outubro-2007 e o Oracle me retornou o último dia desse mês.

Data e Hora no Oracle - Exemplo 8

Conclusão

Essas não são as únicas funções para você trabalhar com datas, porém, acredito que após essa introdução você terá condições de trilhar outros caminhos de acordo com suas necessidades.

Boa sorte a todos e até a próxima.