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.