我对sql
(数学)有疑问。
我有一个支付给供应商的总应付款项33.333
,我需要将金额与两个用户分开。所以我有选择
select (16.666 * 2) from dual
这给了我33.332
少于.1
我必须给予的总金额。
如果我有这个 sql
select (16.667 * 2) from dual
,那么它给我33.334
的 .1
大于33.333
.
我如何划分我可以平均分配的总金额?
谢谢
反过来做:
select 33.333/2
我不确定您从哪里执行查询,但它在这里工作(SQLDeveloper,10g):
SELECT (33.333 / 2) FROM dual;
16,6665
SELECT (16.6665 * 2) FROM dual;
33,333
您很可能使用了错误的列类型。您应该使用 DECIMAL 而不是例如 FLOAT。
这是一个很好的总结: http: //lists.mysql.com/mysql/189592
根据您使用的 SQL 标准,类型可以是 MONEY、DECIMAL 或 NUMBER。