热情软件屋

 

SQL进行数据合计的时候,精度不对


编号:QA003159
建立日期: 2000年7月16日 最后修改日期:2000年7月16日
所属类别:

蒋先生:
    操作系统:WIN
    编程工具:VB
    问题:为什么我用vb的SQL进行数据库中数据合计的时候,将本来只有2位小数为数的数字相加,结果中出现了10个左右的小数位数,vb怎么会有这样的错误,vb的数据库运算怎么会这样的。该如何处理这个错误,如何控制运算结果的小数位数。
    前几天我用vb的字段运算:.feilds("实发工资")=.feilds("应发工资")-feilds("养老金")-.feilds("待业金")-.feilds("公积金")时候,也出现了将本来只有1位小数位数的数字相减出了4位小数位数的问题。将字段运算转换位变量运算之后错误消失。但对SQL运算中的错误我很难解决,特向你请教了。

回答:

    只是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

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio