Cómo obtener tiempo de UTC en Oracle?

Cómo obtener tiempo de UTC en Oracle?

En esta era moderna de tecnología y rápido crecimiento, mantener registros de tiempo precisos es esencial para las empresas globales. De manera predeterminada, Oracle mantiene la fecha y hora en la hora local sin detalles de la zona. Sin embargo, Oracle admite el formato UTC (tiempo coordinado universal) que nos ayuda a administrar y registrar la información de la zona horaria.

Este artículo explica cómo obtener el tiempo de UTC en Oracle utilizando varias funciones incorporadas.

Cómo obtener tiempo de UTC en Oracle?

Para obtener el tiempo UTC en Oracle, use las siguientes funciones:

    • Systimestamp
    • Sys_extract_utc ()
    • From_tz ()

Utilice las funciones anteriores junto con la función to_char () para obtener el tiempo UTC en un formato específico.

Cómo obtener el tiempo de UTC en Oracle usando Systimestamp?

En la base de datos de Oracle, "Systimestamp"Es una función incorporada que proporciona la fecha y hora actuales, incluidos los segundos fraccionales y la información de la zona horaria.

Escriba el siguiente comando para obtener el tiempo UTC del "DOBLE"Tabla en Oracle usando"Systimestamp":

Seleccione Systimestamp en la zona horaria 'UTC' de Dual;


Producción


La salida representa la fecha y hora actuales en el formato de tiempo UTC.

Cómo obtener el tiempo de UTC en Oracle usando sys_extract_utc ()?

En la base de datos de Oracle, "Sys_extract_utc ()"Es una función incorporada que extrae el componente de tiempo UTC de un valor de marca de tiempo dado. Para obtener el tiempo de UTC usando "Sys_extract_utc ()", Escriba el siguiente comando:

Seleccione SYS_EXTRAT_UTC (Systimestamp) como UTC_Time desde dual;


Producción


La salida mostró el tiempo en UTC.

Cómo obtener el tiempo de UTC en Oracle usando from_tz ()?

El "From_tz ()La función se utiliza para crear una marca de tiempo con un valor de zona horaria basado en la fecha local y la zona horaria especificada. Veamos algunos ejemplos para una demostración práctica.

Ejemplo 1: Obtenga tiempo UTC del valor de hora local usando desde_tz ()

Para obtener el tiempo de UTC usando "From_tz ()"Con el valor de hora local y la zona horaria especificada, escriba el siguiente comando:

Seleccione From_tz (CAST (TO_DATE ('2022-03-16 12:00:00', 'aaa yyyy-mm-dd hh24: mi: ss') como la marca de tiempo), 'US/Pacific') en la zona horaria 'UTC' como Utc_time desde dual;


En el comando anterior:

    • El "ELENCO()"La función se utiliza para lanzar/convertir el"Fecha"Tipo de datos en una marca de tiempo.
    • El "HASTA LA FECHA()"La función convierte la cadena literal"2022-03-16 12:00:00”(Valor de tiempo) en el tipo de datos de fecha.
    • El "En la zona horaria"La cláusula convierte el valor de la marca de tiempo en el tiempo UTC especificado.

Producción


El resultado se muestra como tiempo UTC.

Ejemplo 2: Obtenga el tiempo UTC del valor de la marca de tiempo del sistema usando desde_tz ()

Utilizar el "From_tz ()Función para obtener el tiempo UTC con el valor de la marca de tiempo del sistema y la zona horaria especificada:

Seleccione De_tz (Cast (Systimestamp en la zona horaria 'US/Pacific' como TimeStamp), 'US/Pacific') como Pacific_Time desde Dual;


Producción


La salida mostró la hora UTC en "EE. UU./Pacífico".

Cómo obtener un tiempo UTC en un formato adecuado en Oracle usando to_char ()?

En la base de datos de Oracle, el "To_char ()La función se puede usar para formatear una marca de tiempo en un formato UTC específico.

Ejemplo 1: Formato de tiempo UTC usando las funciones sys_extract_utc () y to_char ()

Para formatear el tiempo UTC devuelto por el "Sys_extract_utc ()"Función, use el"To_char ()"Funciona de la siguiente manera:

SELECT TO_CHAR (SYS_EXTRAT_UTC (SYSTIMESTAMP), 'YYYY-MM-DD HH24: MI: SS.Ff ') como utc_time desde dual;


Producción


La salida mostró el tiempo UTC en el formato especificado.

Ejemplo 2: Formato de tiempo UTC usando las funciones from_tz () y to_char ()

El "From_tz ()"El tiempo devuelto se puede formatear en el tiempo UTC utilizando el"To_char ()"Funciona de la siguiente manera:

Seleccione To_Char (from_tz (Cast (Systimestamp at Time Zone 'US/Pacific' como la marca de tiempo), 'US/Pacific'), 'aaa yyyy-mm-dd hh24: mi: ss: ss:.Ff ') como Pacific_Time de Dual;


Producción


La salida mostró el tiempo UTC formateado devuelto por el From_tz () función.

Conclusión

Hay diferentes formas de obtener el tiempo de UTC en la base de datos de Oracle, algunas de ellas devuelven el tiempo UTC correctamente formateado, y los valores devueltos de algunos métodos deben estar formateados. El Systimestamp, Sys_extract_utc (), y From_tz () se puede usar para obtener el tiempo UTC y el To_char () La función se puede usar para formatear el tiempo UTC. Esta guía explicó todas estas funciones con ejemplos.