sql >> Database >  >> RDS >> PostgreSQL

Hoe u de huidige tijd in PostgreSQL kunt krijgen

Probleem:

U wilt de huidige tijd met de tijdzone-offset in een PostgreSQL-database krijgen.

Oplossing:

We gebruiken de CURRENT_TIME-functie om de huidige tijd en tijdzone-informatie te krijgen. Dit is de vraag die je zou schrijven:

SELECT CURRENT_TIME;

Dit is het resultaat van de zoekopdracht:

16:10:11.232455-05

Discussie:

De PostgreSQL-functie CURRENT_TIME geeft de huidige tijd- en tijdzone-offset terug van de machine waarop PostgreSQL wordt uitgevoerd. Het wordt gegeven als een waarde in de 'hh:mm:ss.nnnnnn+/-tz' formaat. In dit formaat:

  • uu is een 2-cijferig uur.
  • mm is een 2-cijferige minuut.
  • ss is een 2-cijferige seconde.
  • nnnnnn definieert het aantal fractionele seconden (d.w.z. de precisie) van 0 tot 6.
  • +tz of -tz is de tijdzone-offset, plus of min van UTC.

CURRENT_TIME heeft geen haakjes. Als u de tijd echter met een specifieke precisie wilt weergeven, kunt u haakjes toevoegen en een geheel getal tussen 0 en 6 tussen 0 en 6 plaatsen. plaats achter de komma), enz. Dit geeft de tijd terug met uw opgegeven aantal fractionele seconden en de tijdzone-offset. Bekijk het volgende voorbeeld:

SELECT CURRENT_TIME(2) ;

Dit is het resultaat van de zoekopdracht:

16:10:11.23-05

Dit resultaat bevat een 2-cijferige fractionele seconde omdat we 2 als argument plaatsen. De tijdzoneverschuiving wordt weergegeven als positief of negatief (+ of -), afhankelijk van of de tijd voor of achter UTC ligt.

De tijd die door deze functie wordt geretourneerd, verandert niet tijdens transacties of een enkele zoekopdracht. Het is altijd het tijdstip waarop de transactie is gestart.


  1. Hoe kom je aan limieten van 8060 bytes per rij en 8000 per (varchar, nvarchar) waarde?

  2. Wat is een uitschieter bij een zoekopdracht en hoe u deze kunt oplossen?

  3. Hoe grotere gegevens in de Oracle-tabellen invoegen/bijwerken?

  4. Een gids voor MySQL Galera Cluster-streamingreplicatie:deel één