SQL进行数据合计的时候,精度不对
编号:QA003159
建立日期: 2000年7月16日 最后修改日期:2000年7月16日
所属类别:
Q
蒋先生:
操作系统:WIN
编程工具:VB
问题:为什么我用vb的SQL进行数据库中数据合计的时候,将本来只有2位小数为数的数字相加,结果中出现了10个左右的小数位数,vb怎么会有这样的错误,vb的数据库运算怎么会这样的。该如何处理这个错误,如何控制运算结果的小数位数。
前几天我用vb的字段运算:.feilds("实发工资")=.feilds("应发工资")-feilds("养老金")-.feilds("待业金")-.feilds("公积金")时候,也出现了将本来只有1位小数位数的数字相减出了4位小数位数的问题。将字段运算转换位变量运算之后错误消失。但对SQL运算中的错误我很难解决,特向你请教了。
A回答:
只是Double类型所至,可以用下列方法解决:
1.在SQL语句中将各字段转换为Money类型后再运算,用Convert()函数。
2.在SQL语句中将各字段取一定精度(小数位)后再运算,用Round()函数。
Chen的意见:
这是数据库中字段格式的设置问题,将字段设置为货币类型格式就不会出错误了。
Chen http://www.applevb.com/
此问题由彭定友回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, SQL查询, sql server, sql, query, select。
| |
|
|
| |
|
|