小数之和只有16位吗
Are there only 16 digits in a sum of decimal
create table t (mnt decimal(20,2));
insert into t values (111340534626262);
insert into t values (0.56);
select sum(mnt) from t;
select sum(mnt::decimal(20,2))::decimal(20,2) from t;
我无法获得超过 16 位数字。有什么想法吗?
使用 IDS 12.10FC10。
当我 运行 我的 sqlcmd
程序中显示的代码时,我得到输出:
111340534626262.56
111340534626262.56
当我 运行 Informix 的 DB-Access 程序中显示的代码时,我得到以下输出(略有改动):
(sum)
111340534626263
1 row(s) retrieved.
(expression)
111340534626263
1 row(s) retrieved.
因此,问题可能出在 DB-Access 的显示机制上,而不是服务器本身。
如果您正在编写自己的代码,则可以相对直接地确保显示准确完整。使用 DB-Access 不一定是最好的方法。
create table t (mnt decimal(20,2));
insert into t values (111340534626262);
insert into t values (0.56);
select sum(mnt) from t;
select sum(mnt::decimal(20,2))::decimal(20,2) from t;
我无法获得超过 16 位数字。有什么想法吗?
使用 IDS 12.10FC10。
当我 运行 我的 sqlcmd
程序中显示的代码时,我得到输出:
111340534626262.56
111340534626262.56
当我 运行 Informix 的 DB-Access 程序中显示的代码时,我得到以下输出(略有改动):
(sum)
111340534626263
1 row(s) retrieved.
(expression)
111340534626263
1 row(s) retrieved.
因此,问题可能出在 DB-Access 的显示机制上,而不是服务器本身。
如果您正在编写自己的代码,则可以相对直接地确保显示准确完整。使用 DB-Access 不一定是最好的方法。