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

クエリのタイムゾーン-dbサーバーとクライアントマシンのタイムゾーンが異なります

    あなたは常に ブラウザクライアントでdbの元の値と同じデータを取得 。同じ時点を(異なるタイムゾーンで)表示するには、さまざまな方法があります。 2つの例( timestamptzのテキスト表現 値):

    '2012-03-05 20:00:00+03'
    '2012-03-05 18:00:00+01'
    

    同じ

    Postgresに関する限り、サーバーのタイムゾーン設定はこれにはまったく関係ありません。関連するのはセッションの設定だけです。そして、変更されるのはディスプレイだけです。 値の。それは常に同じ時点です。

    したがって、セッションでタイムゾーンを設定するだけで、適切なテキスト表現を取得できます。

    別のオプションは、<です。 code> AT TIME ZONE 構築します。 タイムスタンプを取得するには ローカルとして タイムゾーンのないタイムスタンプ

    SELECT my_timestamptz_column AT TIME ZONE '-8';
    

    タイムゾーンタイプの列を含むテーブルを処理する場合 、タイムゾーンは行ごとに変わる可能性があるため、これはより良いアプローチかもしれません。

    繰り返しますが、これはすべて参照回答にあります:




    1. 一意の列でnullを許可する

    2. Google Maps API v3:ズームレベルとマップセンターをユーザーが送信した場所に設定するにはどうすればよいですか?

    3. WordPressワークフローの変更

    4. mysqlのselectステートメントを使用してSQLのnull値を置き換えますか?