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

Uzyskaj sygnaturę czasową z łączenia kolumn dnia i godziny

date i time typy

Jeśli Twój Day jest typu date i Twój Time jest typu time , istnieje bardzo proste rozwiązanie:

SELECT EXTRACT(EPOCH FROM (day + time));

Możesz po prostu dodać date i time aby uzyskać timestamp [without time zone] (co jest interpretowane zgodnie z ustawieniem strefy czasowej sesji).

A ściśle mówiąc, wyodrębnienie epoki nie jest związane z twoim pytaniem per se.
date + time w wyniku timestamp , to wszystko.

Typy ciągów

Jeśli mówisz o literałach ciągów lub text / varchar kolumny, użyj:

SELECT EXTRACT(EPOCH FROM ('2013-07-18' || ' ' || '21:52:12')::timestamp);

lub

SELECT EXTRACT(EPOCH FROM cast('2013-07-18' ||' '|| '21:52:12' AS timestamp));

Twój formularz nie praca

SELECT EXTRACT(EPOCH FROM TIMESTAMP ('2013-07-18' || ' ' || '21:52:12'));

To zadziała:

SELECT EXTRACT(EPOCH FROM "timestamp" ('2013-07-18' || ' ' || '21:52:12'));

Cytuję podręcznik dotyczący rzutowania typów :

Pogrubiony nacisk na moje.
Istota tego:raczej użyj jednego z dwóch pierwszych wariantów składni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Szybki sposób na sprawdzenie liczby wierszy tabeli w PostgreSQL

  2. Funkcje tablicy Postgresql z QueryDSL

  3. Przycinaj końcowe spacje za pomocą PostgreSQL

  4. Jak określić bieżącą działającą bazę danych dla skryptu inicjującego kontenera docker postgres?

  5. Wybierz komórki wierszy jako nowe kolumny