PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment obtenir l'heure actuelle dans PostgreSQL

Problème :

Vous souhaitez obtenir l'heure actuelle avec son décalage horaire dans une base de données PostgreSQL.

Solution :

Nous utiliserons la fonction CURRENT_TIME pour obtenir les informations sur l'heure et le fuseau horaire actuels. Voici la requête que vous écririez :

SELECT CURRENT_TIME;

Voici le résultat de la requête :

16:10:11.232455-05

Discussion :

La fonction PostgreSQL CURRENT_TIME renvoie l'heure actuelle et le décalage horaire de la machine sur laquelle PostgreSQL est exécuté. Il est donné sous forme de valeur dans le 'hh:mm:ss.nnnnnn+/-tz' format. Dans ce format :

  • hh est une heure à 2 chiffres.
  • mm est une minute à 2 chiffres.
  • ss est une seconde à 2 chiffres.
  • nnnnnn définit le nombre de fractions de secondes (c'est-à-dire la précision) de 0 à 6.
  • +tz ou -tz est le décalage du fuseau horaire, plus ou moins par rapport à UTC.

CURRENT_TIME n'a pas de parenthèses. Cependant, si vous souhaitez afficher l'heure avec une précision spécifique, vous pouvez ajouter des parenthèses et inclure un entier de 0 à 6. (Un argument "0" ne renverra aucune fraction de seconde, "1" renverra une fraction de seconde (par exemple une placer derrière la virgule), etc. Cela renverra l'heure avec votre nombre déclaré de fractions de seconde et le décalage de fuseau horaire. Regardez l'exemple suivant :

SELECT CURRENT_TIME(2) ;

Voici le résultat de la requête :

16:10:11.23-05

Ce résultat contient une fraction de seconde à 2 chiffres car nous avons mis 2 comme argument. Le décalage du fuseau horaire apparaît comme positif ou négatif (+ ou -) selon que l'heure est en avance ou en retard sur UTC.

L'heure renvoyée par cette fonction ne change pas pendant les transactions ou une seule requête. C'est toujours l'heure à laquelle la transaction a commencé.