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.