PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak timeofday() działa w PostgreSQL

W PostgreSQL, timeofday() to niestandardowa funkcja czasu w języku SQL, która zwraca bieżącą datę i godzinę ze skrótem strefy czasowej.

Jest podobny do clock_timestamp() funkcja, z wyjątkiem tego, że zwraca swój wynik w postaci sformatowanego text string zamiast timestamp with time zone wartość.

Wynik obu funkcji zmienia się w trakcie wykonywania instrukcji. Dlatego możesz uzyskać różne wyniki w różnych częściach instrukcji, jeśli wielokrotnie wywołasz funkcje w ramach jednej instrukcji.

Składnia

Składnia wygląda tak:

timeofday() 

Więc nie przyjmuje żadnych parametrów.

Przykład

Oto podstawowy przykład do zademonstrowania.

SELECT timeofday(); 

Wynik:

Czw. Lip 02 10:00:27.068776 2020 CEST

Wiele połączeń

Oto podstawowy przykład pokazujący, jak wyniki mogą się różnić, gdy wielokrotnie wywołasz funkcję w ramach jednej instrukcji SQL.

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

Wynik (przy użyciu wyjścia pionowego):

porą dnia | Czw Lip 02 10:02:23.060770 2020 AESTpg_sleep | pora dnia | Czw Lip 02 10:02:28.131195 2020 AESTpg_sleep | pora dnia | czw 02 lip 10:02:31.192749 2020 CEST

Tutaj użyłem pg_sleep() funkcja opóźnienia wykonania o kilka sekund. Pierwsze połączenie opóźnia wykonanie o 5 sekund, a drugie połączenie opóźnia wykonanie o 3 sekundy.

Widzimy, że za każdym razem timeofday() został wywołany, rzeczywisty czas był nieco inny. Wynika to głównie z pg_sleep() funkcja, jednak bez niej może być nieco inna, w zależności od szybkości działania zapytania.

Oto znowu bez pg_sleep() połączeń.

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

Wynik (przy użyciu wyjścia pionowego):

porą dnia | Czw Lip 02 10:03:26.044065 2020 AESTtimeofday | Czw Lip 02 10:03:26.044076 2020 AESTtimeofday | Czw Lip 02 10:03:26.044080 2020 CEST

Te przykłady używają pionowego wyjścia (zwykle nazywanego rozszerzonym wyświetlaniem w psql), aby ułatwić odczytanie wyników.

Możesz przełączać rozszerzone wyświetlanie w psql za pomocą \x .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdź, czy baza danych istnieje w PostgreSQL za pomocą powłoki

  2. SQL — Utwórz widok z wielu tabel

  3. Jak dodać sterownik PostgreSQL jako zależność w Maven?

  4. Pobierz nazwę właściciela bazy danych w PostgreSql

  5. PostgreSQL Upsert rozróżnia wstawione i zaktualizowane wiersze za pomocą kolumn systemowych XMIN, XMAX i innych