欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql语句中进行计算的数据精度有关问题

更新时间: 2014-05-14 07:35:23 责任编辑: Author_N2

 

SQL语句中进行计算的数据精度问题
UPDATE hy_2d_fstemp_b SET 
iorimoney=1700*(1-10/100),
iprice=1700*(1-10/100),
ioricost=1700*(1-10/100)/300,
iunitcost=1700*(1-10/100)/300,
ioritaxcost=1700/300,
ioritaxprice=1700*(10/100),
itaxprice=1700*(10/100),
iorisum=1700,
isum=1700 
WHERE cinvcode='01'


这样一条语句,执行的结果并不是我想要的

在查询分析器中测试:
select 1700*(1-10/100)
的结果 竟然是 1700 .........

我应该怎样修改?才能保证数据准确性? 分享到:
--参考方法--
UPDATE hy_2d_fstemp_b SET 
iorimoney=CAST(1700*(1-10/100) AS DECIMAL(30,2)),
iprice=CAST(1700*(1-10/100) AS DECIMAL(30,6)),
ioricost=1700*(1-10/100)/300,
iunitcost=1700*(1-10/100)/300,
ioritaxcost=1700/300,
ioritaxprice=1700*(10/100),
itaxprice=1700*(10/100),
iorisum=1700,
isum=1700 
WHERE cinvcode='01'

--参考方法--
SELECT 1700 * (1 - 10.00 / 100) AS Expr1
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-05-14 07:35:23
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/204523/
本文WWW.DOC100.NET DOC100.NET版权所有。