PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como obter a hora atual (sem fuso horário) no PostgreSQL

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.