ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.2.184 width_bucket()関数の変更

非互換

FUJITSU Enterprise Postgres 14では、width_bucket()関数でnumeric型を処理する場合、結果の誤差はないように変更します。

FUJITSU Enterprise Postgres 13 SP1以前の場合

[例]

=# SELECT x, width_bucket(x::float8, 10, 100, 9) as flt,
       width_bucket(x::numeric, 10, 100, 9) as num
FROM generate_series(0, 110, 10) x;
  x  | flt | num
-----+-----+-----
   0 |   0 |   0
  10 |   1 |   1
  20 |   2 |   1
  30 |   3 |   2
  40 |   4 |   3
  50 |   5 |   4
  60 |   6 |   6
  70 |   7 |   7
  80 |   8 |   8
  90 |   9 |   9
 100 |  10 |  10
 110 |  10 |  10
(12 rows)
FUJITSU Enterprise Postgres 14の場合

[例]

=# SELECT x, width_bucket(x::float8, 10, 100, 9) as flt,
       width_bucket(x::numeric, 10, 100, 9) as num
FROM generate_series(0, 110, 10) x;
  x  | flt | num
-----+-----+-----
   0 |   0 |   0
  10 |   1 |   1
  20 |   2 |   2
  30 |   3 |   3
  40 |   4 |   4
  50 |   5 |   5
  60 |   6 |   6
  70 |   7 |   7
  80 |   8 |   8
  90 |   9 |   9
 100 |  10 |  10
 110 |  10 |  10
(12 rows)

対処方法

ありません。