`
wandejun1012
  • 浏览: 2751224 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sql round不准确

 
阅读更多

今天在跑一段SQL脚本时,发现Sql round计算出来的结果不准确,a*b=103.5,round(a*b,0,0)计算出来的结果却是103,而不是预期的104.

 

注:round(a*b,0,0)的意思是:第1个0表示精度,正数表示小数点后面保留几位小数,负数表示小数点左边舍入到负数指定的长度,0表示不要小数。

第2个0表示function,缺省则表示0,意思是四舍五入,如果是其他数则表示舍弃小数点后面部分。

refurl:http://zhidao.baidu.com/question/112678976.html

http://msdn.microsoft.com/zh-cn/library/ms175003(v=SQL.90).aspx

 

 

后来发现计算结果不准确是因为b是float型,而float是不精确数据类型,转换成numeric即可。

 

成功语句:

 

 

round(#t.AD_CusI_dgsl*convert(numeric(18,2),r.AD_CIR_bjfbl),0,0)
 

注:numeric(18,2)和decimal(18,2)是一个意思,总共18个长度,2表示小数位数。

 

refurl:http://www.bhcode.net/article/20101026/13640.html

 

http://zhidao.baidu.com/question/5834740

 

http://msdn.microsoft.com/zh-cn/library/ms187746.aspx

 

分享到:
评论

相关推荐

    SQL ROUND() 函数

    在实际应用中,ROUND()函数常用于报表、数据分析、财务计算等领域,以确保数据展示的准确性和易读性。例如,在财务报表中,可能会用ROUND()来显示货币金额到最接近的分,或者在统计分析中,可能需要将数据四舍五入到...

    sqlserver四舍五入使用round函数及cast和convert函数

    在SQL Server中,进行数值四舍五入操作通常有多种方法,其中最常用的函数是`ROUND`,但也可以使用`CAST`和`CONVERT`函数来实现类似的效果。本文将详细探讨这三种方法以及它们在处理四舍五入时的特点。 `ROUND`函数...

    SQL_Server数值函数的说明和例子

    SQL Server 提供了一系列强大的数值函数,如Ceiling()、Floor()、Round()、Sign() 和 Abs(),这些函数能够帮助开发者在处理数据时更灵活地控制数值的格式和精度,从而优化数据库操作的效率和准确性。理解并熟练掌握...

    sql取小数点后N位.txt

    通过本文的介绍,我们可以了解到在SQL中处理小数点后特定位数的方法并不复杂,主要涉及到`ROUND`、`CONVERT`和`CAST`等常用函数的应用。选择合适的方法不仅可以简化查询语句,还能提高数据处理的准确性和效率。希望...

    用sql语句求出占比,并且后面加%比

    为了得到准确的比例值,并将其格式化为带有百分号的字符串,我们可以利用SQL中的`COUNT()`函数结合`ROUND()`和`CAST()`函数来实现。 #### 实现步骤 1. **计算总体数量**:首先需要确定总的记录数量。 2. **计算部分...

    自己写的sql server四舍六入奇进偶不进的函数

    ### 自定义SQL Server函数实现四舍六入奇进偶不进的修约规则 在处理数值数据时,经常需要对数值进行修约处理。通常情况下,我们使用的都是标准的四舍五入法,但在某些特殊场景下,比如金融计算、统计分析等场合,...

    用SQL计算多次多人开工的工时分摊sql

    为了解决这一问题,需要设计一种合理的算法来准确计算每个人的实际工作时间,并确保整个团队的总工时不被夸大。 ### 二、核心需求分析 1. **避免工时累加超出实际值**:由于可能存在多个员工同时工作的情况,简单...

    SQL 函数 字段内容更新插入

    它们可以帮助你更有效地维护和操作数据库,确保数据的准确性和一致性。在实际应用中,根据具体的数据库系统(如MySQL、SQL Server、Oracle等),函数和语法可能略有不同,需要参考相应的数据库文档。

    SQL\日期、數字格式化函数大全

    在SQL中,日期和数字的处理是...总结来说,SQL中的日期和数字格式化函数极大地增强了数据处理的灵活性和准确性,使得数据的呈现更加符合业务需求。熟练掌握这些函数,将有助于你写出更高效、更具针对性的SQL查询。

    sql帮助文档函数大全

    SQL(Structured Query Language)是用于...通过深入学习这些函数,你可以更好地掌握SQL语言,提高数据操作的效率和准确性。无论是进行数据查询、更新、插入,还是进行复杂的数据分析,这个文档都将是你得力的助手。

    Transact-SQL_常用函数

    在IT行业的数据库管理与开发领域,Transact-SQL(T-SQL)是SQL Server的核心语言,广泛用于数据的检索、...在SQL Server的开发和维护工作中,熟练运用T-SQL函数是必备技能之一,能够显著提高数据库操作的准确性和性能。

    sql 人民币大写转换函数

    通过对参数的严格验证和对数值的细致处理,该函数确保了转换结果的准确无误,适用于财务报表、合同文档等各种正式场合,是SQL中处理人民币数值转换的一个强大且实用的工具。 总之,`MoneyToCapital`函数体现了SQL...

    Oracle数据库SQL基本应用与介绍

    函数的使用进一步增强了SQL的功能,例如ROUND用于四舍五入,LENGTH计算字符串长度,DATE函数处理日期,而NVL则用于处理空值情况。 条件语句在SQL中扮演着关键角色,NULL值的判断使用IS NULL和IS NOT NULL,LIKE操作...

    SQL函数大总结。doc

    在实际使用中,了解并熟练掌握这些函数可以帮助我们编写更高效、更准确的SQL查询,提升数据库管理的效率。无论是进行简单的数据提取还是复杂的业务逻辑计算,SQL函数都是不可或缺的工具。在Oracle SQL中,这些函数...

    sql server 命令函数大全

    根据提供的标题、描述、标签及部分内容,我们可以详细探讨SQL Server中的数学函数和...这些函数能够帮助开发者更灵活地处理数据,提高查询效率和准确性。在实际应用中,结合具体的业务场景选择合适的函数是非常重要的。

    Oracle PL/SQL语言初级教程

    - **定义**: 一种规则,用于确保数据的准确性和一致性,防止无效数据的插入或更新。 - **类型**: - 主键约束:确保每一行记录的唯一性。 - 外键约束:建立表之间的关系。 - 检查约束:验证列值是否满足特定条件。...

    SQL基础 清华大学

    SQL还包含一系列函数,例如日期函数(如CDATE、DATE())、数值函数(如CINT、ROUND)、统计函数(如AVG、MAX、MIN、COUNT)等,这些函数丰富了数据处理的能力。 在实际应用中,SQL有两种主要的使用方式:命令行方式...

    SQL语言简明讲稿-第三章

    ### SQL语言简明讲稿-第三章:单行函数详解 #### 一、概述 本章节将深入探讨SQL中的单行函数,这是...综上所述,单行函数是SQL语言中不可或缺的一部分,熟悉和掌握这些函数对于提高SQL查询的效率和准确性至关重要。

    SAP HANA数据计算后小数点位数异常

    这种变化导致了计算结果的小数部分显示不准确或者不符合预期。 #### 二、具体问题描述与案例分析 在SAP HANA中,对于某些特定的数据表,在执行`ROUND`函数时可能会出现返回结果类型不符合预期的情况。例如,考虑...

Global site tag (gtag.js) - Google Analytics