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

Jak získat aktuální čas v PostgreSQL

Problém:

Chcete získat aktuální čas s posunem jeho časového pásma v databázi PostgreSQL.

Řešení:

K získání informací o aktuálním čase a časovém pásmu použijeme funkci CURRENT_TIME. Zde je dotaz, který byste napsali:

SELECT CURRENT_TIME;

Zde je výsledek dotazu:

16:10:11.232455-05

Diskuse:

Funkce PostgreSQL CURRENT_TIME vrátí aktuální čas a posun časového pásma počítače, na kterém běží PostgreSQL. Je uvedena jako hodnota v 'hh:mm:ss.nnnnnn+/-tz' formát. V tomto formátu:

  • hh je 2místná hodina.
  • mm je dvoumístná minuta.
  • ss je 2místná sekunda.
  • nnnnnn definuje počet zlomkových sekund (tj. přesnost) od 0 do 6.
  • +tz nebo -tz je posun časového pásma, plus nebo minus od UTC.

CURRENT_TIME nemá žádné závorky. Pokud však chcete zobrazit čas se specifickou přesností, můžete přidat závorky a uzavřít celé číslo od 0 do 6. (Argument „0“ nevrátí žádné zlomkové sekundy, „1“ vrátí jednu zlomkovou sekundu (např. místo za desetinnou čárkou) atd. Tím se vrátí čas s vámi deklarovaným počtem zlomkových sekund a posunem časového pásma. Podívejte se na následující příklad:

SELECT CURRENT_TIME(2) ;

Zde je výsledek dotazu:

16:10:11.23-05

Tento výsledek obsahuje 2-místný zlomek sekundy, protože jsme jako argument vložili 2. Posun časového pásma se zobrazí jako kladný nebo záporný (+ nebo -) v závislosti na tom, zda je čas před nebo za UTC.

Čas vrácený touto funkcí se během transakce nebo jediného dotazu nemění. Je to vždy čas, kdy transakce začala.


  1. Zobrazení dat z databáze pomocí základního adaptéru a zobrazení seznamu

  2. 2 způsoby, jak vytvořit tabulku na propojeném serveru pomocí T-SQL

  3. Jaký je nejlepší způsob předání parametrů SQLCommand?

  4. GROUP nebo DISTINCT po JOIN vrátí duplikáty