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

Cómo obtener la hora actual (sin zona horaria) en PostgreSQL

Problema:

Le gustaría obtener la hora actual en una base de datos PostgreSQL. No desea el desplazamiento de la zona horaria.

Solución:

Usaremos la función LOCALTIME para obtener la hora actual sin el desplazamiento de la zona horaria.

SELECT LOCALTIME;

Este es el resultado de la consulta:

	22:15:51.987914

Discusión:

La función PostgreSQL LOCALTIME devuelve la hora actual en la máquina que ejecuta PostgreSQL. Lo devuelve como un tipo de datos de tiempo en el 'hh:mm:ss.nnnnnn ' 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 son fracciones de segundo (de cero a 6 dígitos de precisión).

Como notará, esta función no tiene paréntesis. Sin embargo, si desea mostrar la hora con una precisión específica, use corchetes con un número entero de 0 a 6 como argumento. Esto devolverá la hora con el número deseado de fracciones de segundo. Por ejemplo, LOCALTIME(1) denota solo una fracción de segundo (es decir, un lugar después del decimal); 2 devolverá dos lugares, etc. El valor predeterminado (sin corchetes ni corchetes vacíos) es seis, que también es el número máximo de fracciones de segundo. Mira el siguiente ejemplo:

SELECT LOCALTIME(0) ;

Este es el resultado de la consulta:

21:12:06

Este resultado no contiene fracciones de segundo porque ponemos 0 como argumento.

LOCALTIME devuelve la hora a la que comienza la transacción actual. La diferencia entre LOCALTIME y CURRENT_TIME es que LOCALTIME no incluye el desplazamiento de la zona horaria.