2017-05-23 8 views
0

こんにちは私はタイムスタンプで24時間を追加する必要があります。Postgresql:タイムスタンプで24時間を追加

ここに私のコード:

select to_timestamp(timestamp_start, 'YYYY-MM-DD HH24:MI:SS.US') + interval '24 hour' as tstamp from tablename 

クエリが動作しますが、それは、タイムスタンプの終わりに2 0を追加します: "2017年5月23日17:35:13.105867 + 00" を

理由とどのようにそれを解決するには?

+0

それはタイムゾーンです – Iceman

+0

タイムスタンプにキャストしますか? –

答えて

1

+00は、タイムゾーンのタイムスタンプであり、クライアントのタイムゾーンはUTCであることを示します。

あなたが例えば、timestamp without timezoneにキャスト、画面上のものをたくない場合は、次の

t=# select now(); 
       now 
------------------------------- 
2017-05-23 09:04:46.105322+00 
(1 row) 

Time: 0.690 ms 
t=# select now()::timestamp; 
      now 
---------------------------- 
2017-05-23 09:04:51.849522 
(1 row) 

Time: 0.537 ms 

だから、オリジナルのポストでのクエリのためには、次のようになります。

select (to_timestamp(timestamp_start, 'YYYY-MM-DD HH24:MI:SS.US') + interval '24 hour')::timestamp as tstamp 
from tablename 
+0

回答ありがとうございます。 tablenameからtstampとしてタイムゾーン 'UTC' +時間 '24時間'でto_timestamp(timestamp_start、 'YYYY-MM-DD HH24:MI:SS.US')を選択します。これは良い解決策でしょうか? – Alessandro95

+0

投稿を更新しました –

関連する問題