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

Como obter a hora atual no PostgreSQL

Problema:


Você gostaria de obter a hora atual com seu fuso horário em um banco de dados PostgreSQL.

Solução:


Usaremos a função CURRENT_TIME para obter as informações atuais de horário e fuso horário. Aqui está a consulta que você escreveria:
SELECT CURRENT_TIME;

Segue o resultado da consulta:
16:10:11.232455-05

Discussão:


A função PostgreSQL CURRENT_TIME retorna a hora atual e o fuso horário da máquina na qual o PostgreSQL está sendo executado. É dado como um valor no 'hh:mm:ss.nnnnnn+/-tz' 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 define o número de segundos fracionários (ou seja, a precisão) de 0 a 6.
  • +tz ou -tz é o deslocamento do fuso horário, mais ou menos do UTC.

CURRENT_TIME não tem colchetes. No entanto, se você quiser exibir a hora com uma precisão específica, você pode adicionar colchetes e colocar um número inteiro de 0 a 6. (Um argumento "0" não retornará segundos fracionários, "1" retornará um segundo fracionário (por exemplo, um coloque atrás do decimal), etc. Isso retornará a hora com o número declarado de segundos fracionários e o deslocamento do fuso horário. Veja o próximo exemplo:
SELECT CURRENT_TIME(2) ;

Segue o resultado da consulta:
16:10:11.23-05

Este resultado contém um segundo fracionário de 2 dígitos porque colocamos 2 como argumento. O deslocamento de fuso horário aparece como positivo ou negativo (+ ou -), dependendo se o horário está adiantado ou atrasado em relação ao UTC.

O tempo retornado por esta função não muda durante as transações ou uma única consulta. É sempre a hora em que a transação começou.