Como obter o tempo da UTC no Oracle?

Como obter o tempo da UTC no Oracle?

Nesta era moderna de tecnologia e crescimento rápido, a manutenção de registros de tempo precisos é essencial para os negócios globais. Por padrão, o Oracle mantém o tempo de dados na hora local sem detalhes da zona. No entanto, o Oracle suporta o formato UTC (tempo coordenado universal) que nos ajuda a gerenciar e gravar informações sobre o fuso horário.

Este artigo explica como obter o tempo da UTC no Oracle usando várias funções internas.

Como obter o tempo da UTC no Oracle?

Para obter o tempo da UTC no Oracle, use as seguintes funções:

    • Systimestamp
    • Sys_extract_utc ()
    • De_tz ()

Use as funções acima dadas junto com a função to_char () para obter o tempo da UTC em um formato específico.

Como obter o tempo da UTC no Oracle usando Systimestamp?

No banco de dados Oracle, “Systimestamp”É uma função interna que fornece a data e a hora atuais, incluindo segundos fracionários e informações sobre fuso horário.

Digite o seguinte comando para obter o horário da UTC do “DUAL”Tabela no Oracle usando“Systimestamp”:

Selecione Systimestamp no tempo do tempo 'UTC' de Dual;


Saída


A saída mostra a data e hora atuais no formato de hora do UTC.

Como obter o tempo da UTC no Oracle usando sys_extract_utc ()?

No banco de dados Oracle, “Sys_extract_utc ()”É uma função interna que extrai o componente de tempo UTC de um determinado valor de timestamp. Para obter o tempo da UTC usando “Sys_extract_utc ()”, Digite o seguinte comando:

Selecione SYS_EXTRATT_UTC (SYSTIMESTAMP) como UTC_TIME FROM DUAL;


Saída


A saída mostrou o tempo no UTC.

Como obter o tempo da UTC no Oracle usando de_tz ()?

O "De_tz ()”A função é usada para criar um registro de data e hora com um valor de fuso horário com base na data local e no fuso horário especificado. Vamos ver alguns exemplos para demonstração prática.

Exemplo 1: Obtenha o tempo da UTC do valor horário local usando de_tz ()

Para obter o tempo da UTC usando “De_tz ()”Com o valor horário local e o fuso horário especificado, digite o seguinte comando:

Selecione From_tz (Cast (to_date ('2022-03-16 12:00:00', 'AAAA-MM-DD HH24: MI: SS') como registro de data e hora), 'EUA/Pacífico') no fuso horário 'UTC' como Utc_time de dual;


No comando acima:

    • O "ELENCO()”A função é utilizada para lançar/converter o“Data”Tipo de dados em um registro de data e hora.
    • O "A DATA()”A função converte a string literal“2022-03-16 12:00:00”(Valor temporal) no tipo de dados de data.
    • O "No fuso horário”A cláusula converte o valor do registro de data e hora em tempo especificado no UTC.

Saída


O resultado é exibido como tempo UTC.

Exemplo 2: Obtenha o tempo da UTC do valor de timestamp do sistema usando de_tz ()

Use o "De_tz ()”Função para obter o horário da UTC com o valor do registro de data e hora do sistema e o fuso horário especificado:

Selecione From_TZ (elenco (Systimestamp no Fino horário 'EUA/Pacífico' como registro de data e hora), 'EUA/Pacífico') como Pacific_time do Dual;


Saída


A saída exibiu o tempo da UTC em “EUA/Pacífico”.

Como obter um tempo UTC em um formato adequado no Oracle usando to_char ()?

No banco de dados Oracle, o “To_char ()”A função pode ser usada para formatar um registro de data e hora em um formato UTC específico.

Exemplo 1: Format UTC Time usando as funções SYS_EXTRATT_UTC () e TO_CHAR ()

Para formatar o tempo da UTC retornado pelo “Sys_extract_utc ()”Função, use o“To_char ()”Função da seguinte maneira:

Selecione TO_CHAR (sys_extract_utc (systimestamp), 'AAAA-MM-DD HH24: MI: SS.Ff ') como utc_time de dual;


Saída


A saída exibiu o tempo UTC no formato especificado.

Exemplo 2: Format UTC Time usando as funções From_TZ () e To_Char ()

O "De_tz ()”O tempo de retorno pode ser formatado no tempo da UTC usando o“To_char ()”Função da seguinte maneira:

Selecione TO_CHAR (From_TZ (Cast (Systimestamp no Fino do Tempo 'US/Pacific' como Timestamp), 'EUA/Pacífico'), 'AAAA-MM-DD HH24: MI: SS.Ff ') como Pacific_time de Dual;


Saída


A saída mostrou o tempo de UTC formatado retornado pelo De_tz () função.

Conclusão

Existem diferentes maneiras de obter o tempo da UTC no banco de dados Oracle, alguns deles retornam o tempo adequadamente formatado da UTC, e alguns valores retornados de alguns métodos precisam ser formatados. O Systimestamp, Sys_extract_utc (), e De_tz () pode ser usado para obter o tempo da UTC e o To_char () A função pode ser usada para formatar o tempo da UTC. Este guia explicou todas essas funções com exemplos.