Manipulação de datas no Oracle – Parte II

Manipulação de datas no Oracle - Parte II

Manipulação de datas no Oracle – Parte II

No post anterior de Oracle, falamos sobre manipulação e formatação de datas no Oracle

Agora, vamos continuar a abordar o assunto com outros comandos úteis para trabalhar com datas no Oracle.

Cálculo com Datas

No manuseio de consultas via banco de dados, muitas vezes é necessário, efetuar cálculos com datas, seja para apurar a diferença entre uma data e outra, adicionar ou subtrair dias a uma data, enfim, existem diversos cenários em que precisamos efetuar operações com datas.

Por isso, agora vamos demonstrar algumas funções e comandos úteis na manipulação de datas via Oracle.

SYSDATE

A função SYSDATE retorna a data e hora corrente do servidor que esta instalado o seu banco de dados Oracle.

É comum utilizar SYSDATE a partir da tabela interna e vazia chamada DUAL.

select sysdate from dual;

SELECT TO_CHAR (SYSDATE, ‘MM-DD-YYYY HH24:MI:SS’) “Agora” FROM DUAL;

Resultado

Agora

——————-

04-13-2016 11:45:51

 

Operações aritméticas

É possível realizar cálculos com datas, utilizando operadores aritméticos.

Operações possíveis:

  • date + number
    • Adiciona um número de dias à data, retornando uma data.
  • date – number
    • Subtrai um número de dias da data, retornando uma data.
  • date – date
    • Subtrai um número de dias da data, retornando uma data.
  • date + number/24
    • Adiciona um número de horas à data, retornando uma data.
SELECTHIREDATE,HIREDATE-7,SYSDATE-HIREDATE

FROM EMP

WHERE HIREDATE LIKE ‘%06%’

 

Operação de Soma e Subtração (+ e -) com datas

No Oracle, sempre calcula usando o número como dias e o calculo só pode ser feito data + ou – dias. Ficando assim:

select sysdate – 2 from dual;

Isso retornará o dia antes de ontem. E sendo + 2 seria o dia depois de amanhã.
Ou seja, soma-se ou subtrai-se uma quantidade de dias, esse número poderá ser quebrado, representando horas.
Deve-se somente dividir-se 1 por 24, por exemplo, para fazer o calculo em horas.

A única função dessas duas que funciona com 2 datas é a de subtração, que retornara a diferença em numero de dias.

Operação de Adição de meses

Agora que você já sabe como funciona a adição de dias a uma data no Oracle, vamos ver como adicionar meses a uma data, para isso, utiliza-se o função ADD_MONTHS, usando dessa forma:

select ADD_MONTHS(sysdate, 2) from dual;

Onde o primeiro parâmetro é a data e o segundo a quantidade de meses que se quer adicionar.

NOTA: Se é o ultimo dia do mês de janeiro, por exemplo, somando-se um mês, vai para o ultimo dia do mês de fevereiro.

Descobrir a maior data dentre algumas datas

A função utilizada para descobrir a maior data entre diversas opções é a GREATEST e pode-se passar várias datas como parâmetro, dessa forma:

select GREATEST(sysdate, sysdate-2, sysdate+5, sysdate+15, sysdate-7) from dual;

Descobrir a menor data dentre algumas datas

Já a função utilizada para descobrir a menor data entre diversas opções é a LEAST e pode-se passar várias datas como parâmetro, da seguinte forma:

select LEAST(sysdate, sysdate-1, sysdate+3, sysdate+10, sysdate-3) from dual;

Retornar o último dia de um mês

A função que informa se uma data informada é o ultimo dia de um mês é a LAST_DAY, passado como parâmetro uma data dentro do mês do qual quer se saber o ultimo dia.

select LAST_DAY(sysdate) from dual;

Calcula a quantidade de meses entres 2 datas

A função MONTHS_BETWEEN irá retornar a quantidade de meses entre duas datas, mesmo que não dê um mês inteiro a função retornara um número quebrado relativo a esse período.

select MONTHS_BETWEEN(sysdate-10, sysdate+30) from dual;

Retorna a data para o próximo dia da semana

A função NEXT_DAY retorna para uma determinada data, o próximo dia da semana definido no segundo parâmetro, dessa forma:

select NEXT_DAY(sysdate, ‘FRI’) from dual;

Dessa forma retornara a próxima sexta-feira.

Obrigado pela sua companhia

 

É isso ai pessoal !

Espero que tenham gostado de mais essas dicas para Manipulação de datas no Oracle, com estas informações você pode criar diversas consultas com calculo e operações com datas.

Se você gostou deste artigo, compartilhe estas dicas com um amigo ou nos acompanhe através das redes sociais.
Não gostou, encontrou algum erro ou conhece outras dicas de Oracle, deixe seus comentários.
Muito Obrigado

Abraços

Compartilhe esta matéria
  ,


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *