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

Jak przekonwertować ciąg na znacznik czasu w PostgreSQL

Problem:

Chcesz przekonwertować ciąg znaków zawierający informacje o dacie i godzinie na znacznik czasu w PostgreSQL.

Skonwertujmy ciąg znaków zawierający datę, godzinę i informacje o strefie czasowej na typ danych timestamptz.

Rozwiązanie:

Użyjemy TO_TIMESTAMP() funkcjonować. Oto zapytanie, które możesz napisać:

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

Oto wynik zapytania:

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

Dyskusja:

Użyj funkcji PostgreSQL TO_TIMESTAMP() gdy chcesz przekonwertować ciąg znaków zawierający datę i godzinę na sygnaturę czasową typ danych. Ta funkcja przyjmuje dwa argumenty:ciąg znaków zawierający datę i godzinę (w naszym przykładzie tekst „2018/08/27/15:23:45 ') i format wejściowy (w naszym przykładzie „YYYY/MM/DD/HH24:MI:ss ’). Format wejściowy wskazuje, jak należy przekonwertować znaki w ciągu. Oto główne elementy powyższego wzorca:

  • RRRR reprezentuje 4-cyfrowy rok.
  • MM reprezentuje dwucyfrowy miesiąc.
  • DD reprezentuje dwucyfrowy dzień miesiąca.
  • HH24 reprezentuje 2-cyfrową godzinę (od 00 do 23).
  • MI reprezentuje 2-cyfrową minutę (od 00 do 59).
  • ss reprezentuje 2-cyfrową sekundę (od 00 do 59).

Zauważ, że używamy ukośników (/) jako ograniczników części daty i dwukropków (:) jako ograniczników części czasu. Pełną listę elementów wzorca daty i godziny można znaleźć w dokumentacji PostgreSQL.

Zauważ, że formatem wejściowym jest ciąg. Funkcja TO_TIMESTAMP() zwraca sygnaturę czasową wartość z informacją o strefie czasowej.

W naszym przykładzie data i godzina tekstu '2018/08/27/15:23:45 „został przekonwertowany na sygnaturę czasową wartość 2018-08-27 15:23:45+02 . sygnatura czasowa typ danych jest bardziej czytelny.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje sposób na ustawienie czasu wygaśnięcia, po którym wpis danych jest automatycznie usuwany w PostgreSQL?

  2. Zapytaj o ostatnie N powiązanych wierszy na wiersz

  3. Jak przekazać niestandardową tablicę typów do funkcji Postgres

  4. Dołącz do zapytania licznika w generate_series() i pobierz wartości Null jako „0”

  5. Jak ustawić interwałowy format wyjściowy w PostgreSQL?