sql >> Database >  >> RDS >> PostgreSQL

Hoe u de huidige datum en tijd kunt krijgen (zonder tijdzone) in PostgreSQL

Probleem:

U wilt de huidige datum en tijd in een PostgreSQL-database krijgen. U hebt de tijdzone-offset niet nodig.

Oplossing:

We gebruiken de functie LOCALTIMESTAMP om de huidige datum en tijd te krijgen zonder enige tijdzone-informatie:

SELECT LOCALTIMESTAMP ;

Dit is het resultaat van de zoekopdracht:

2019-09-24 20:10:58.977914

Discussie:

De PostgreSQL-functie LOCALTIMESTAMP geeft de huidige datum en tijd terug (van de machine waarop die instantie van PostgreSQL draait) als een tijdstempel waarde. Het gebruikt de 'JJJJ-MM-DD uu:mm:ss.nnnnnnn ' formaat, waarbij:

  • JJJJ is een jaartal van 4 cijfers.
  • MM is een 2-cijferige maand.
  • DD is een dag met twee cijfers.
  • uu is een 2-cijferig uur.
  • mm is een 2-cijferige minuut.
  • ss is een 2-cijferige seconde.
  • nnnnnn zijn fractionele seconden (van nul tot 6-cijferige precisie).

Zoals u ziet, heeft deze functie geen haakjes. Als u echter de datum en tijd met een specifieke precisie wilt weergeven, plaatst u een geheel getal van 0 tot 6 als argument tussen haakjes. Dit geeft de datum en tijd terug met het gewenste aantal fracties van seconden. Bijvoorbeeld LOCALTIMESTAMP(1) geeft slechts één fractionele seconde aan (d.w.z. één plaats achter de komma); 2 geeft twee plaatsen terug, enz. De standaardprecisie is 6, wat ook het maximale aantal fractionele seconden is; dit krijg je als je helemaal geen haakjes gebruikt. Kijk naar het volgende voorbeeld:

SELECT LOCALTIMESTAMP(0) ;

Dit is het resultaat van de zoekopdracht:

2019-09-24 20:10:58

Dit resultaat bevat geen fracties van seconden omdat we 0 als argument gebruiken.

Deze functie retourneert het tijdstip waarop de huidige transactie is gestart. Het verschil tussen LOCALTIMESTAMP en CURRENT_TIMESTAMP is dat de LOCALTIMESTAMP omvat niet de tijdzoneverschuiving.


  1. Hoe PHP te gebruiken om verbinding te maken met de sql-server

  2. Sorteren vermijden met Samenvoegen Samenvoegen Samenvoegen

  3. Vul ontbrekende datums in voor uitvoer van SQL Server-query's met behulp van CTE

  4. 2 manieren om dubbele rijen in Oracle te verwijderen