すべてのプロダクト
Search
ドキュメントセンター

PolarDB:64ビットのDATEタイプ

最終更新日:May 29, 2024

PolarDB for PostgreSQL (Oracle互換) は、Oracleと互換性のある64ビットDATE型をサポートしています。

注意事項

  • この機能は、マイナーバージョンV1.1.29 (2022年12月リリース) 以降のクラスターでサポートされています。 新しいクラスターのみがこの機能をサポートしています。
  • 最新バージョンのPolarDB JDBCドライバーをこの機能と一緒に使用する必要があります。 JDBCドライバは42.2.9.1.2以降である必要があります。 さもなければ、精度の損失が生じるかもしれない。 PolarDB-JDBCバージョンをダウンロードおよび表示する方法の詳細については、「JDBC」をご参照ください。

概要

古いバージョンと比較して、新しいバージョンには次の互換性の違いがあります。

  • DATE値の減算結果は、INTERVAL型ではなくNUMERIC型である。
    • 古いバージョンでは、減算結果はINTERVALタイプです。
      select pg_typeof(sysdate - sysdate) from dual;
      サンプル結果:
      pg_typeof
      -----------
       間隔
      (1行) 
    • 新しいバージョンでは、減算結果はNUMERICタイプです。
      select pg_typeof(sysdate - sysdate) from dual;
      サンプル結果:
      pg_typeof
      -----------
       数値
      (1行) 
  • 新しいバージョンでは、精度の高い入力値に対して精度の切り捨てが実装されています。
    • 古いバージョンでは、秒以上の精度の入力値に対して精度の切り捨ては実装されていません。
      select to_date('2021-10-31 10:31:31.7777 ') - to_date('2021-10-31 10:31:31') from dual;
      サンプル結果:
      ? コラム?
      ---------------
       00:00:00.7777
      (1行) 
    • 新しいバージョンでは、秒以上の精度の入力値に対して精度の切り捨てが実装されています。
      select to_date('2021-10-31 10:31:31.7777 ') - to_date('2021-10-31 10:31:31') from dual;
      サンプル結果:
      ? コラム?
      ----------
              0
      (1行) 
  • nls_date_formatパラメーターを設定して、DATE型の表示形式を指定できます。
    • nls_date_formatパラメーターをyyyy/mm/dd hh24:mi:ssに設定し、DATEタイプの表示形式を照会します。
      set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';
      選択sysdate from dual; 
      サンプル結果:
      sysdate
      ---------------------
       2022/12/06 09:13:59
      (1行) 
    • nls_date_formatパラメーターをyyyy-mm-dd hh24:mi:ssに設定し、DATE型の表示形式を照会します。
      set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
      選択sysdate from dual; 
      サンプル結果:
      sysdate
      ---------------------
       2022-12-06 09:14:31
      (1行)