Ir para o conteúdo principal

Utilização de Data e Conversões (Current_date, timestamp, cast, etc)

CURRENT_DATE

Seleciona data atual.

select current_date from rdb$database --> Retorno: "2019-09-13"
CURRENT_TIMESTAMP

Seleciona data e hora atual.

select current_timestamp from rdb$database --> Retorno: "2019-09-13 08:56:29.6490"

***OBSERVAÇÃO: 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

CAST

Função para fazer conversão de valores de diversos tipos. Neste caso, de texto para data (A data precisa estar informada no mesmo formato parametrizado no banco de dados).

select cast('13-09-2019' as date) from rdb$database --> Retorno: "2019-09-13"
select cast('2019-09-13 08:56' as timestamp) from rdb$database --> Retorno: "2019-09-13 08:56"
select cast(current_date as varchar(10)) from rdb$database --> Retorno: "2019-09-13"
select cast(current_timestamp as varchar(24)) from rdb$database --> Retorno: "2019-09-13 08:56:29.6490"
EXTRACT

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

select extract(year from current_date) from rdb$database --> Retorno: 2019 <-- (ano atual)
select extract(month from current_date) from rdb$database --> Retorno: 9 <-- (mês atual)
select extract(day from current_date) from rdb$database --> Retorno: 13 <-- (dia do mês atual)
select extract(hour from current_time)||':'||
       extract(minute from current_time)||':'||
       trunc(extract(second from current_time)) from rdb$database --> Retorno: 14:43:46 <-- (hora atual)