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

Jak clock_timestamp() działa w PostgreSQL

W PostgreSQL, clock_timestamp() to niestandardowa funkcja czasu w języku SQL, która zwraca bieżącą datę i godzinę.

Ważną kwestią związaną z tą funkcją jest to, że jej wynik zmienia się w trakcie wykonywania instrukcji. Dlatego możesz uzyskać różne wyniki w różnych częściach instrukcji, jeśli wielokrotnie wywołasz funkcję w ramach jednej instrukcji.

Składnia

Składnia jest tak prosta, jak to tylko możliwe:

clock_timestamp()

Więc nie przyjmuje żadnych parametrów.

Przykład

Oto podstawowy przykład do zademonstrowania.

SELECT clock_timestamp();

Wynik:

2020-07-01 09:53:22.823731+10

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 
  clock_timestamp(),
  pg_sleep(5),
  clock_timestamp(),
  pg_sleep(3),
  clock_timestamp();

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

clock_timestamp | 2020-07-01 09:58:29.744838+10
pg_sleep        |
clock_timestamp | 2020-07-01 09:58:34.813448+10
pg_sleep        |
clock_timestamp | 2020-07-01 09:58:37.859197+10

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 to za każdym razem clock_timestamp() został wywołany, rzeczywisty czas był nieco inny. Wynika to głównie z pg_sleep() funkcji, ale bez niej może być inaczej, w zależności od szybkości działania zapytania.

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

SELECT 
  clock_timestamp(),
  clock_timestamp(),
  clock_timestamp();

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

clock_timestamp | 2020-07-01 10:03:10.828557+10
clock_timestamp | 2020-07-01 10:03:10.828558+10
clock_timestamp | 2020-07-01 10:03:10.828558+10

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. Ściągawka wydajnościowa dla PostgreSQL

  2. Uzyskaj krótką nazwę miesiąca w PostgreSQL

  3. Niezbędne monitorowanie PostgreSQL — część 3

  4. Instalacja Odoo na komputerze Mac nie może wykonać polecenia LESSC

  5. Sprawdź, czy tablica Postgres JSON zawiera ciąg