日付
およびtime
タイプ
日
の場合 タイプは date
そしてあなたの時間
タイプは time
、非常に簡単な解決策があります:
SELECT EXTRACT(EPOCH FROM (day + time));
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'));
大胆な強調私のもの。
その要点:最初の2つの構文バリアントのいずれかを使用してください。