I PostgreSQL, timeofday() er en ikke-SQL-standard tidsfunktion, der returnerer den aktuelle dato og klokkeslæt med tidszoneforkortelsen.
Det ligner clock_timestamp() funktion, bortset fra at den returnerer sit resultat som en formateret text streng i stedet for et timestamp with time zone værdi.
Resultatet af begge funktioner ændres under udførelsen af en sætning. Derfor kan du få et andet resultat i forskellige dele af sætningen, hvis du kalder funktionerne flere gange i en enkelt sætning.
Syntaks
Syntaksen ser sådan ud:
timeofday() Så den accepterer ingen parametre.
Eksempel
Her er et grundlæggende eksempel at demonstrere.
SELECT timeofday(); Resultat:
Tor Jul 02 10:00:27.068776 2020 AEST
Flere opkald
Her er et grundlæggende eksempel for at demonstrere, hvordan resultaterne kan variere, når du kalder funktionen flere gange i en enkelt SQL-sætning.
\x
SELECT
timeofday(),
pg_sleep(5),
timeofday(),
pg_sleep(3),
timeofday(); Resultat (ved hjælp af lodret output):
Her brugte jeg pg_sleep() funktion til at forsinke udførelsen i flere sekunder. Det første opkald forsinker udførelsen i 5 sekunder, og det andet opkald forsinker udførelsen i 3 sekunder.
Vi kan se det hver gang timeofday() blev kaldt, var den faktiske tid lidt anderledes. Dette skyldes for det meste pg_sleep() funktion, men den kan også være lidt anderledes uden den, afhængigt af hvor hurtigt forespørgslen kører.
Her er den igen uden pg_sleep() opkald.
SELECT
timeofday(),
timeofday(),
timeofday(); Resultat (ved hjælp af lodret output):
Disse eksempler bruger lodret output (normalt kaldet udvidet visning i psql) for at gøre det nemmere at læse resultaterne.
Du kan skifte udvidet visning i psql med \x .