使用Float或Real数据类型的危险

本文探讨了使用浮点(Float)和真实(Real)数据类型在SQL中的潜在风险,强调了它们在精度上的不足,可能导致计算误差。SQL Prompt的代码分析规则(BP023)提醒开发者注意此类数据类型的使用。浮点数据类型虽能处理大数值,但在商业计算中,其不精确性可能造成问题。文章通过示例展示了浮点数计算的不稳定性,并建议在需要高精度时使用DECIMAL或NUMERIC数据类型。
摘要由CSDN通过智能技术生成

SQL Prompt根据数据库的对象名称、语法和代码片段自动进行检索,为用户提供合适的代码选择。自动脚本设置使代码简单易读--当开发者不大熟悉脚本时尤其有用。SQL Prompt安装即可使用,能大幅提高编码效率。本文介绍了使用Float或Real数据类型的危险。

浮点数据类型可容纳非常大的数字,但是缺少了精度。它们对于某些类型的科学计算很方便,但是在更广泛地使用时很危险,因为它们会引入较大的舍入误差。

浮点运算就是为了避免计算中的溢出错误而容忍和管理近似。在现实世界中,我们通常关心数字的准确性,而会牺牲空间和资源以避免溢出。

科学是在误差范围内工作的,而精确在商业会计中至关重要。当我还是一名初级程序员时,我曾经写过一种我认为是银行计算交易利润非常合适的方法。在一百万英镑中,最多也就一两便士的误差,我很满意。它使用了我们当时用来开发财务软件包的PL / 1编译器中固有的计算。我向他们展示了精心制作的应用程序,他们感到震惊。冷酷无情的银行家们毫不留情地表示一百万英镑没了几分钱。他们不会接受的。我被迫用精确的汇编代码编写一个精确的二进制编码的十进制(BCD)程序包。

SQL Prompt具有代码分析规则(BP023),该规则将提醒您使用Float或Real数据类型,这是因为它们可能会引入许多组织通常在其SQL Server数据上常规执行的那种计算方式。

SQL Prompt使用教程:使用Float或Real数据类型的危险

近似数的数据类型

浮点运算是在优先考虑节省内存的同时,提供了一种涉及大量运算的通用方法的时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值