Ir para o conteúdo principal

Utilização de Datas e Conversões (current_date, timestamp, to_char, etc)

CURRENT_DATE 

Selecionada data atual

select current_date --> Retorno: "2019-09-13"
CURRENT_TIME

Seleciona hora atual

select current_time --> Retorno: "08:56:29.649098-03"
CURRENT_TIMESTAMP

Seleciona data e hora atual (funções alternativas: now() e transaction_timestamp())

select current_timestamp --> Retorno: "2019-09-13 08:56:29.649098-03"

OBS: Importante saber que o banco estará parametrizado para mostrar um valor de data/hora com um único formato para todos. Se a intenção é mostrar a data/hora em um formato diferente do parametrizado, é necessário converter a data/hora para um valor do tipo texto, definindo o formato desejado nas funções de conversão. Veja abaixo.

TO_CHAR

Pode ser usado para converter uma data/hora para texto no formato em que deseja visualizar.

select to_char(current_date, 'MM/YYYY') --> Retorno: "09/2019"
select to_char(current_timestamp, 'DD/MM/YYYY HH24:MI:SS') --> Retorno: "13/09/2019 08:56:29"
select to_char(now(), 'HH24:MI') --> Retorno: "08:56"
select to_char(current_date, 'TMDay') --> Retorno: "Sexta-Feira"
select to_char(current_date, 'DD')||' de '||to_char(current_date, 'TMMonth')||' de '||to_char(current_date, 'YYYY') --> Retorno: "13 de Setembro de 2019"
TO_DATE e TO_TIMESTAMP

Usado para converter um valor texto para um valor data/hora.

select to_date('13/09/2019', 'DD/MM/YYYY') --> Retorno: "2019-09-13"
select to_timestamp('13/09/2019 08:51:43', 'DD/MM/YYYY HH24:MI:SS') --> Retorno:"2019-09-13 08:51:43-03"
EXTRACT

Pode ser usado para extrair uma informação específica de um campo de Data ou Data/hora.

select extract(millennium from now()) --> Retorno: 3 <-- (Milênio atual)
select extract(century from now()) --> Retorno: 21 <-- (século atual)
select extract(decade from now()) --> Retorno: 201 <-- (década atual)
select extract(year from now()) --> Retorno: 2019 <-- (ano atual)
select extract(month from now()) --> Retorno: 9 <-- (mês atual)
select extract(dow from now()) --> Retorno: 5 <-- (dia da semana atual)
select extract(day from now()) --> Retorno: 13 <-- (dia do mês atual)
select extract(hour from now())||':'||
	   extract(minute from now())||':'||
	   trunc(extract(second from now())) --> Retorno: 14:43:46 <-- (hora atual)
CAST

Função para fazer conversão de valores de diversos tipos. Neste caso, de data para texto de texto para data.

select cast(date '2019-09-13' as text) --> Retorno: "2019-09-13"
select cast('2019-09-13' as date) --> Retorno: "2019-09-13"