sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo obtener la hora actual en PostgreSQL

Problema:

Le gustaría obtener la hora actual con su diferencia de zona horaria en una base de datos de PostgreSQL.

Solución:

Usaremos la función CURRENT_TIME para obtener la hora actual y la información de la zona horaria. Esta es la consulta que escribirías:

SELECT CURRENT_TIME;

Este es el resultado de la consulta:

16:10:11.232455-05

Discusión:

La función PostgreSQL CURRENT_TIME devuelve la hora actual y el desplazamiento de la zona horaria de la máquina en la que se ejecuta PostgreSQL. Se da como un valor en el 'hh:mm:ss.nnnnnn+/-tz' formato. En este formato:

  • hh es una hora de 2 dígitos.
  • mm es un minuto de 2 dígitos.
  • ss es un segundo de 2 dígitos.
  • nnnnnn define el número de fracciones de segundo (es decir, la precisión) de 0 a 6.
  • +tz o -tz es el desplazamiento de la zona horaria, ya sea más o menos de UTC.

CURRENT_TIME no tiene paréntesis. Sin embargo, si desea mostrar la hora con una precisión específica, puede agregar corchetes y encerrar un número entero del 0 al 6. (Un argumento "0" no devolverá segundos fraccionarios, "1" devolverá un segundo fraccionario (por ejemplo, un lugar detrás del decimal), etc. Esto devolverá la hora con el número declarado de fracciones de segundo y el desplazamiento de la zona horaria. Mire el siguiente ejemplo:

SELECT CURRENT_TIME(2) ;

Este es el resultado de la consulta:

16:10:11.23-05

Este resultado contiene una fracción de segundo de 2 dígitos porque ponemos 2 como argumento. El desplazamiento de la zona horaria aparece como positivo o negativo (+ o -) dependiendo de si la hora está por delante o por detrás de UTC.

El tiempo devuelto por esta función no cambia durante las transacciones o una sola consulta. Siempre es el momento en que comenzó la transacción.