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

Jak převést řetězec na časové razítko v PostgreSQL

Problém:

Chcete převést řetězec obsahující informace o datu a čase na časové razítko v PostgreSQL.

Převedeme řetězec obsahující informace o datu, čase a časovém pásmu na datový typ timestamptz.

Řešení:

Použijeme TO_TIMESTAMP() funkce. Zde je dotaz, který byste napsali:

SELECT TO_TIMESTAMP('2018/08/27/15:23:45', 'YYYY/MM/DD/HH24:MI:ss')
          AS  new_timestamptz;

Zde je výsledek dotazu:

new_timestamptz
2018-08-27 15:23:45+02

Diskuse:

Použijte funkci PostgreSQL TO_TIMESTAMP() když chcete převést řetězec obsahující data a čas na časové razítko datový typ. Tato funkce přebírá dva argumenty:řetězec obsahující datum a čas (v našem příkladu text '2018/08/27/15:23:45 ') a vstupní formát (v našem příkladu „YYYY/MM/DD/HH24:MI:ss '). Vstupní formát udává, jak mají být znaky v řetězci převedeny. Zde jsou hlavní prvky z výše uvedeného vzoru:

  • RRRR představuje 4místný rok.
  • MM představuje 2místný měsíc.
  • DD představuje 2místný den v měsíci.
  • HH24 představuje 2místnou hodinu (od 00 do 23).
  • MI představuje 2místnou minutu (od 00 do 59).
  • ss představuje 2místnou sekundu (od 00 do 59).

Všimněte si, že používáme lomítka (/) jako oddělovače částí data a dvojtečky (:) jako oddělovače částí času. Kompletní seznam prvků datetime pattern najdete v dokumentaci PostgreSQL.

Všimněte si, že vstupní formát je řetězec. Funkce TO_TIMESTAMP() vrací timestamptz hodnotu s informacemi o časovém pásmu.

V našem příkladu text datum a čas '2018/08/27/15:23:45 'byl převeden na časové razítko hodnota 2018-08-27 15:23:45+02 . časové razítko datový typ je čitelnější.


  1. Jak TAN() funguje v MariaDB

  2. 3 metody opětovného sestavení všech indexů pro všechny tabulky pomocí T-SQL v databázi SQL Server

  3. Jak zkontrolovat, zda tabulka již existuje, než ji vytvoříte v MySQL

  4. Výchozí formát DATE společnosti Oracle