首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2013-07-16 
SQL语句中进行计算的数据精度问题UPDATE hy_2d_fstemp_b SET iorimoney1700*(1-10/100),iprice1700*(1-1

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

热点排行