date
och time
typer
Om din Day
är av typen date
och din Time
är av typen time
, det finns en mycket enkel lösning:
SELECT EXTRACT(EPOCH FROM (day + time));
Du kan bara lägga till date
och time
för att få en timestamp [without time zone]
(vilket tolkas enligt tidszonsinställningen för din session).
Och strängt taget är att extrahera epoken inte relaterat till din fråga i sig.date
+ time
resultera i en timestamp
, det är allt.
Strängtyper
Om du pratar om strängliteraler eller text
/ varchar
kolumner, använd:
SELECT EXTRACT(EPOCH FROM ('2013-07-18' || ' ' || '21:52:12')::timestamp);
eller
SELECT EXTRACT(EPOCH FROM cast('2013-07-18' ||' '|| '21:52:12' AS timestamp));
Ditt formulär inte arbete
SELECT EXTRACT(EPOCH FROM TIMESTAMP ('2013-07-18' || ' ' || '21:52:12'));
Detta skulle fungera:
SELECT EXTRACT(EPOCH FROM "timestamp" ('2013-07-18' || ' ' || '21:52:12'));
Jag citerar handboken om typavgjutningar :
Djärv betoning min.
Grunken av det:använd hellre en av de två första syntaxvarianterna.