sql >> データベース >  >> RDS >> PostgreSQL

postgresqlのUTCタイムゾーンをEST(現地時間)に変換します

    ここロンドンでは、現在UTCより1時間進んでいます。つまり、タイムスタンプなしでタイムゾーンを取得し、UTCであると言うと、ローカルタイムゾーンで印刷されます。

    richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
            timezone        
    ------------------------
     2015-10-24 17:38:46+01
    (1 row)
    

    しかし、返される値から判断すると、南北アメリカのどこかにあるように見える「EST」が必要です。必要に応じて、式を小さなSQL関数でラップできます。

    richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'EST';
          timezone       
    ---------------------
     2015-10-24 11:38:46
    (1 row)
    

    編集:クエリでそれを行う方法

    SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
    FROM my_table;
    

    この種のことが問題を引き起こしている場合は、SQLの入門書を入手することをお勧めします。



    1. Oracle11gデータベースの問題でdjangoを構成する

    2. 1回の操作で複数のPostgreSQL関数のスキーマを変更しますか?

    3. plpgsql関数から行のセットを返します。

    4. ピボットテーブルのようなこのSQLクエリを生成する方法