当前位置: 首页 > 面试题库 >

SQL Server 2000整数截断

莘光华
2023-03-14
问题内容

简单明了,有人知道为什么吗:

Select 30 * 220 / 30

返回 220 ,这是正确的结果,并且:

Select 30 * (220/30)

返回 210 ???

在第二种情况下,我意识到首先要计算220/30,生成一个十进制数(7,333333 …),但仍然…这不是很糟糕的精度吗?


问题答案:

在整数除法220/30 = 7和下99/100 = 0(注意截断不舍入)

使用非整数可以避免这种情况。例如Select 30 * (220/30.0)

或者您可以使用显式 cast

Select 30 * (220/cast (30 as float))


 类似资料:
  • 本文向大家介绍调整SQLServer2000运行中数据库结构,包括了调整SQLServer2000运行中数据库结构的使用技巧和注意事项,需要的朋友参考一下 开发过程中的数据库结构结构,不可避免的会需要反复的修改。最麻烦的情况莫过于开发者数据库结构已经修改,而实际应用中数据库又有大量数据,如何在不影响 数据库中数据情况下,更新数据结构呢?当然,我们可以手工对应用数据库表结构各个添加、更正、删除的字段

  • 问题内容: 以下GO程序给出了错误: 程序: 为什么我不能使用in类型? 问题答案: 更换 通过 引用规范: 当表达式或赋值中混合了不同的数字类型时,需要进行转换。例如,即使int32和int在特定体系结构上可能具有相同的大小,它们也不是同一类型。 Go使用静态类型输入,不会自动在数字类型之间转换。原因可能是为了避免某些错误。例如,应该产生什么值和什么类型?结果应该是吗? ? ?在Go中,这不是问

  • 问题内容: 我想要一种计算Java中任意两个整数x,y的方法。如果x + y> Integer.MAX_VALUE或<Integer.MIN_VALUE,那么幼稚的方法就会遇到问题。 番石榴 使用此技术: …但这朝着负无穷大方向舍入,这意味着例程与{-1,-2}之类的天真方式不同(给出-2而不是-1)。 是否有任何相应的例程截断为0? “仅使用”不是我想要的答案,因为我也想要一种适用于长时间输入的

  • 问题内容: 我正在尝试使用WebdriverIO截取整个页面的屏幕截图。 我读过,最好的方法是使用WebdriverCSS增强我的WebdriverIO流。WebdriverCSS自动截图整个页面? 问题是WebdriverCSS对我不起作用。我认为是因为它尚未与兼容。 有什么办法可以使它起作用,或者可以使用其他解决方案? 我的代码: ( 这是生产什么,但在回调中未定义的值 ) !EDIT: 这是

  • 我做了一个触发器来验证两列,当其中只有一列错误时,它会正常显示消息,当两列都错误时,我会得到错误 错误代码:1292。截断不正确的INTEGER值:" 我相信是在Concat部分,我是不是错过了什么功能?

  • 拦截文件 bp CreateFileA 创建或打开文件 (32位) bp OpenFile 打开文件 (32位) bp ReadFile 读文件 (32位) bp WriteFile 写文件 (32位) bp GetPrivateProfileStringA (ini文件)