Pular para o conteúdo principal

Funções de data Oracle

 

image

Com o Oracle é possível obter uma série de resultados a partir de uma ou mais datas, como por exemplo verificar o último dia do mês ou verificar a quantidade de meses entre duas datas, então vamos a alguns exemplos:

 

Data atual do sistema: SYSDATE

Remover meses de uma data: ADD_MONTHS(SYSDATE, -1)

Adicionar meses de uma data: ADD_MONTHS(SYSDATE, +1)

Buscar o último dia do mês: LAST_DAY(SYSDATE)

Primeiro dia do mês: TRUNC(SYSDATE, ‘MONTH’)

Quantidade de meses entre duas datas: MONTHS_BETWEEN(SYSDATE, ‘27/07/1982’)

Primeiro dia do ano: TRUNC(SYSDATE, ‘YEAR’)

Dias da semana: DECODE( TO_NUMBER( TO_CHAR          (SYSDATE, ‘D’) )

,1, ‘domingo’

,2, ‘segunda-feira’

,3, ‘terça-feira’

,4, ‘quarta-feira’

,5, ‘quinta-feira’

,6, ‘sexta-feira’

,7,’sábado’

)

Comentários

  1. Ótimo!! Ajudou muito, obrigada.

    ResponderExcluir
  2. Streaming de radio ShoutCast com auto-dj e hospedagem para sites e com melhor custo beneficio da internet so na

    ABNIX.com.br

    Streaming para rádio - 200 ouvintes - Qualidade: 32 kbs - Auto Dj 1 Giga - R$ 10.90

    Os planos Shoutcast vem com AutoDJ, ou seja sua rádio pode ficar 24 horas no ar, além da possibilidade de entrar

    com sua programação ao vivo na hora que desejar.

    Em todos os planos de streaming, você terá gratuitamente 3 meses de hospedagem no PLANO BRONZE de graça sem pagar nada durante 3 meses.

    ATENÇÃO *Cobrimos oferta da Concorrência (sujeito a análise).

    Criação de Sites a Partir de 300 reias.

    WWW.ABNIX.COM.BR

    ResponderExcluir
  3. Muito simples, mas muito funcional. ótima dica. Obrigado

    ResponderExcluir
  4. Dia da semana não é mais fácil:

    SELECT TO_CHAR(SYSDATE,'DAY') FROM DUAL

    ResponderExcluir
  5. e a quantidade de dias entre duas datas, como faz?

    ResponderExcluir
  6. Olá Anônimo, você pode fazer data - data:

    select (sysdate - sysdate+1) from dual;

    ResponderExcluir
  7. Ola Boa tarde, gostaria de saber se é possível descobrir qual o primeiro e sétimo dia da semana. Exemplo:

    01/01/2017 = domingo then 1º domingo
    02/01/2017 = segunda-feira then 1º segunda
    03/01/2017 = terça-feira then 1º terça

    08/01/2017 = domingo then 2º domingo
    09/01/2017 = segunda-feira then 2º segunda

    Assim por mês.... todos as anos.

    ResponderExcluir
    Respostas
    1. Este comentário foi removido pelo autor.

      Excluir
    2. select replace(to_char(sysdate,'day'),'-feira') from dual
      Troque sysdate pela data desejada.

      Excluir
  8. Como faço para trazer o nome do MÊS, não sendo o mes atual que estamos, por exemplo para um relatorio, trazer o nome do mes do lado da data.

    ResponderExcluir
    Respostas
    1. Olá Anônimo! Não sei se entendi bem sua dúvida, mas para mostrar o nome do "próximo" mês você poderia adicionar um mês ao mês atual com o "ADD_MONTHS" e ai mostrar o nome desse mês com o "TO_CHAR", ficaria algo como: "TO_CHAR( ADD_MONTHS( SYSDATE, 1 ) , ‘MONTH’ )"

      Excluir

Postar um comentário

Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.

Mais visitadas

Funções de Data e Hora (Delphi)

É muito comum nos depararmos no dia a dia com a necessidade de manipular datas e horas, seja para um calculo de permanência, dias de atraso enfim, é praticamente escapar de alguma situação que necessite desse tipo de controle. Assim como a necessidade e se utilizar algum recurso para manipular as datas e horas de alguma maneira e freqüente, as duvidas de como o faze-lo também é, basta um breve olhar em qualquer fórum especializado e lá está, alguma duvida relacionada, por isso decidi falar um pouco sobre uma unit muito poderosa chamada DateUtils para a manipulação de data e hora, com um grande numero de métodos e classes que facilitam a vida de qualquer um. Alguns exemplos: CompareDate(constA, B: TDateTime): TValueRelationship; Compara apenas a data de dois valores (do tipo TDateTime) retornando: LessThanValue O primeiro valor é menor que o segundo EqualsValue Os valores são iguais GreaterThanValue O primeiro valor é maior que o segundo CompareDateTime(const A, B: TD

Como Verificar se um Objeto Existe (Delphi)

Em alguns momentos surge a necessidade de verificar se um determinado objeto existe, ou seja se já foi criado, principalmente quando se trabalha com criação dinâmica em tempo de execução, então vamos ao exemplo: - Vamos criar uma variável, um vetor do tipo caixa de texto: var Minha_caixa : array of TEdit; - Em seguida definir o tamanho desse vetor, no caso será dez: setLength(Minha_caixa, 10) - Agora iremos criar nossa caixa de texto: // lembrando que o vetor inicia em zero // logo o índice final é o tamanho total - 1 for vl_i := 0 to Length(Minha_caixa) -1 do begin Minha_caixa[vl_i] := TEdit.Create(self); with Minha_caixa[vl_i] do begin Parent := Self; Name := 'Caixa_N'+IntToStr(vl_i); Text := 'Esta é a '+IntToStr(vl_i)+' º caixa !'; ReadOnly := true; Height := 21; Width :=