sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur timeofday() fungerar i PostgreSQL

I PostgreSQL, timeofday() är en icke-SQL-standard tidsfunktion som returnerar aktuellt datum och tid, med tidszonens förkortning.

Det liknar clock_timestamp() funktion, förutom att den returnerar sitt resultat som en formaterad text sträng snarare än en timestamp with time zone värde.

Resultatet av båda funktionerna ändras under körningen av en sats. Därför kan du få ett annat resultat i olika delar av satsen om du anropar funktionerna flera gånger inom en enskild sats.

Syntax

Syntaxen ser ut så här:

timeofday() 

Så den accepterar inga parametrar.

Exempel

Här är ett grundläggande exempel att visa.

SELECT timeofday(); 

Resultat:

Tor Jul 02 10:00:27.068776 2020 AEST

Flera samtal

Här är ett grundläggande exempel för att visa hur resultaten kan skilja sig åt när du anropar funktionen flera gånger inom en enda SQL-sats.

\x
SELECT 
  timeofday(),
  pg_sleep(5),
  timeofday(),
  pg_sleep(3),
  timeofday(); 

Resultat (med vertikal utdata):

tid på dagen | Tors 2 jul 10:02:23.060770 2020 AESTpg_sleep | tid på dagen | Tors 2 jul 10:02:28.131195 2020 AESTpg_sleep | tid på dagen | Tors 2 jul 10:02:31.192749 2020 AEST

Här använde jag pg_sleep() funktion för att fördröja exekveringen i flera sekunder. Det första samtalet fördröjer exekveringen i 5 sekunder och det andra samtalet fördröjer exekveringen i 3 sekunder.

Vi kan se det varje gång timeofday() kallades, var den faktiska tiden något annorlunda. Detta beror mest på pg_sleep() funktion, men den kan också vara något annorlunda utan den, beroende på hur snabbt frågan körs.

Här är den igen utan pg_sleep() samtal.

SELECT 
  timeofday(),
  timeofday(),
  timeofday(); 

Resultat (med vertikal utdata):

tid på dagen | Tors 2 jul 10:03:26.044065 2020 AESTtid på dagen | Tors 2 jul 10:03:26.044076 2020 AESTtid på dagen | Tors 2 jul 10:03:26.044080 2020 AEST

Dessa exempel använder vertikal utdata (vanligtvis kallad expanderad visning i psql) för att göra det lättare att läsa resultaten.

Du kan växla utökad visning i psql med \x .


  1. Lagring av långa binära (rådata) strängar

  2. Hur man migrerar fristående Moodle till en klustrad databas skalbar installation

  3. Hur man konverterar strängfall i PostgreSQL

  4. Linq to Entities Group By (OUTTER APPLY) oracle 11.2.0.3.0 stöder inte applicera