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

タイムゾーンが等しいPostgres時間

    timetzを評価する2つの方法があります 平等:

    SELECT a, b, a = b AS plain_equality
         , '2000-1-1'::date + a = '2000-1-1'::date + b AS ts_equality
         , a AT TIME ZONE 'UTC', b AT TIME ZONE 'UTC'  AS timetz_equality
    FROM  (
       SELECT '12:00:00 -0800'::timetz AS a
            , '14:00:00 -0600'::timetz AS b
       ) sub;
    

    1つ目はdateに追加することです 。
    AT TIME ZONEを使用した2番目 構築します。

    ただし、time with time zoneは使用しないでください
    Postgresは、SQL標準に含まれているため、このタイプのみをサポートします。設計上壊れており(DSTを考慮できません!)、使用はお勧めしません。

    ここでマニュアルを引用する:

    タイプtime with time zone はSQL標準で定義されていますが、定義には疑わしい有用性につながるプロパティが示されています。ほとんどの場合、dateの組み合わせ 、timetimestamp without time zone 、およびtimestamp with time zone アプリケーションに必要な日付/時刻機能の完全な範囲を提供する必要があります。




    1. MariaDB ColumnStore1.1.3GAを搭載した新しいMariaDBAXリリース

    2. Oracleで数値を通貨としてフォーマットする方法

    3. OracleのFLOOR()関数

    4. 2つの日付の間の金曜日の数