非互換
FUJITSU Enterprise Postgres 9.6以降では、extract関数において、無限大のタイムスタンプを入力した場合の戻り値を変更します。
抽出するフィールドの種別にかかわらず、0を返却します。
[例]
=# SELECT extract(year from TIMESTAMP 'infinity');
date_part
-----------
0
(1 row)=# SELECT extract(month from TIMESTAMP 'infinity');
date_part
-----------
0
(1 row)抽出するフィールドが単調増加するもの(year、century、decade、epoch、isoyear、millennium)であれば無限大を返却し、そうでないものはNULLを返却します。
[例]
=# SELECT extract(year from TIMESTAMP 'infinity'); date_part ----------- Infinity (1 row)
=# \pset null NULL
=# SELECT extract(month from TIMESTAMP 'infinity');
date_part
-----------
NULL
(1 row)対処方法
ありません。