Problema:
Você gostaria de obter a hora atual em um banco de dados PostgreSQL. Você não quer o deslocamento do fuso horário.
Solução:
Usaremos a função
LOCALTIME
para obter a hora atual sem o deslocamento de fuso horário. SELECT LOCALTIME;
Segue o resultado da consulta:
22:15:51.987914
Discussão:
A função PostgreSQL
LOCALTIME
retorna a hora atual na máquina que executa o PostgreSQL. Ele o retorna como um tipo de dados de hora no 'hh:mm:ss.nnnnnn ' formato. Neste formato:- hh é uma hora de 2 dígitos.
- mm é um minuto de 2 dígitos.
- ss é um segundo de 2 dígitos.
- nnnnnn são segundos fracionários (de zero a precisão de 6 dígitos).
Como você notou, esta função não tem colchetes. No entanto, se você quiser exibir a hora com uma precisão específica, use colchetes com um inteiro de 0 a 6 como argumento. Isso retornará o tempo com o número desejado de segundos fracionários. Por exemplo,
LOCALTIME(1)
denota apenas um segundo fracionário (ou seja, uma casa após o decimal); 2 retornará duas casas, etc. O valor padrão (sem colchetes ou colchetes vazios) é seis, que também é o número máximo de segundos fracionários. Veja o próximo exemplo:SELECT LOCALTIME(0) ;
Segue o resultado da consulta:
21:12:06
Este resultado não contém segundos fracionários porque colocamos 0 como argumento.
LOCALTIME
retorna a hora em que a transação atual é iniciada. A diferença entre LOCALTIME
e CURRENT_TIME
é que LOCALTIME não inclui o deslocamento de fuso horário.