sql >> Databáze >  >> RDS >> PostgreSQL

Jak funguje clock_timestamp() v PostgreSQL

V PostgreSQL clock_timestamp() je nestandardní časová funkce SQL, která vrací aktuální datum a čas.

Důležitým aspektem této funkce je, že její výsledek se během provádění příkazu mění. Proto můžete získat různé výsledky v různých částech příkazu, pokud funkci voláte vícekrát v rámci jednoho příkazu.

Syntaxe

Syntaxe je tak jednoduchá, jak jen může:

clock_timestamp()

Nepřijímá tedy žádné parametry.

Příklad

Zde je základní příklad k demonstraci.

SELECT clock_timestamp();

Výsledek:

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

Vícenásobné volání

Zde je základní příklad, který ukazuje, jak se mohou výsledky lišit, když funkci voláte vícekrát v rámci jednoho příkazu SQL.

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

Výsledek (při použití vertikálního výstupu):

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

Zde jsem použil pg_sleep() funkce pro zpoždění spuštění o několik sekund. První volání zpozdí provedení o 5 sekund a druhé volání o 3 sekundy.

Můžeme to vidět pokaždé, když clock_timestamp() byl skutečný čas mírně odlišný. To je způsobeno hlavně funkcí pg_sleep() funkce, ale i bez ní by to mohlo být jiné, v závislosti na tom, jak rychle běží dotaz.

Zde je to opět bez pg_sleep() hovory.

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

Výsledek (při použití vertikálního výstupu):

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

Tyto příklady používají vertikální výstup (obvykle nazývaný rozšířené zobrazení v psql), aby bylo snazší číst výsledky.

Rozšířené zobrazení v psql můžete přepínat pomocí \x .


  1. Převeďte z MySQL datetime do jiného formátu pomocí PHP

  2. Oracle:Vypočítejte časový rozdíl v HH:MM:SS mezi 2 daty

  3. Vytvoření datového modelu pro spolujízdu

  4. Vkládání dat pomocí mysqli