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:
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:
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.