sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan får du den aktuelle tid i PostgreSQL

Problem:

Du vil gerne have det aktuelle tidspunkt med tidszoneforskydning i en PostgreSQL-database.

Løsning:

Vi bruger CURRENT_TIME-funktionen til at få oplysninger om den aktuelle tid og tidszone. Her er den forespørgsel, du ville skrive:

SELECT CURRENT_TIME;

Her er resultatet af forespørgslen:

16:10:11.232455-05

Diskussion:

PostgreSQL-funktionen CURRENT_TIME returnerer den aktuelle tids- og tidszoneforskydning for den maskine, som PostgreSQL kører på. Det er givet som en værdi i 'hh:mm:ss.nnnnnn+/-tz' format. I dette format:

  • hh er en 2-cifret time.
  • mm er et 2-cifret minut.
  • ss er et 2-cifret sekund.
  • nnnnnn definerer antallet af brøksekunder (dvs. præcisionen) fra 0 til 6.
  • +tz eller -tz er tidszoneforskydningen, enten plus eller minus fra UTC.

CURRENT_TIME har ingen beslag. Men hvis du ønsker at vise tiden med en bestemt præcision, kan du tilføje parenteser og omslutte et heltal fra 0 til 6. (Et "0"-argument returnerer ingen brøksekunder, "1" returnerer et brøksekund (f.eks. en plads bag decimalen) osv. Dette returnerer tiden med dit angivne antal brøksekunder og tidszoneforskydningen. Se på det næste eksempel:

SELECT CURRENT_TIME(2) ;

Her er resultatet af forespørgslen:

16:10:11.23-05

Dette resultat indeholder et 2-cifret brøksekund, fordi vi sætter 2 som argument. Tidszoneforskydningen vises som enten positiv eller negativ (+ eller -) afhængigt af, om tiden er før eller efter UTC.

Tiden returneret af denne funktion ændres ikke under transaktioner eller en enkelt forespørgsel. Det er altid det tidspunkt, hvor transaktionen startede.


  1. SQL BESTIL EFTER

  2. MySQL matematiske funktioner (fuld liste)

  3. Hvorfor får kørsel af denne forespørgsel med EXECUTE IMMEDIATE den til at mislykkes?

  4. Sådan installeres flere PostgreSQL-servere på RedHat Linux