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行)
- 古いバージョンでは、減算結果はINTERVALタイプです。
- 新しいバージョンでは、精度の高い入力値に対して精度の切り捨てが実装されています。
- 古いバージョンでは、秒以上の精度の入力値に対して精度の切り捨ては実装されていません。
サンプル結果: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行)