date и time типове
Ако вашият Day е от тип date
и вашето Time е от тип time
, има много просто решение:
SELECT EXTRACT(EPOCH FROM (day + time));
Можете просто да добавите date и time за да получите timestamp [without time zone] (което се интерпретира според настройката на часовата зона на вашата сесия).
И, строго погледнато, извличането на епохата не е свързано с вашия въпрос само по себе си.date + time доведе до timestamp , това е.
Типове низове
Ако говорите за низови литерали или text / varchar колони, използвайте:
SELECT EXTRACT(EPOCH FROM ('2013-07-18' || ' ' || '21:52:12')::timestamp);
или
SELECT EXTRACT(EPOCH FROM cast('2013-07-18' ||' '|| '21:52:12' AS timestamp));
Вашият формулярне работа
SELECT EXTRACT(EPOCH FROM TIMESTAMP ('2013-07-18' || ' ' || '21:52:12')); Това ще работи:
SELECT EXTRACT(EPOCH FROM "timestamp" ('2013-07-18' || ' ' || '21:52:12'));
Цитирам ръководството за преобразуване на типове :
Удебелен акцент е мой.
Същността на това:по-скоро използвайте един от първите два варианта на синтаксис.