_Nikotin |
Совершенно случайно наткнулись на баг оракла |
С binary_double вроде всё нормально.
Oracle11g:
SQL> with t as
2 (
3 select 9960d a from dual
4 union all
5 select 9962d from dual
6 )
7 select stddev(a) from t;
STDDEV(A)
----------
1.414E+000
C float - действительно баг. Хотя среднее значение считает верно.
SQL> with t as
2 (
3 select 9960f a from dual
4 union all
5 select 9962f from dual
6 )
7 select stddev(a) from t;
STDDEV(A)
----------
0
SQL> with t as
2 (
3 select 9960f a from dual
4 union all
5 select 9962f from dual
6 )
7 select avg(a) from t;
AVG(A)
----------
9.961E+003