首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server,除法返回零

SQL Server,除法返回零
EN

Stack Overflow用户
提问于 2009-11-03 18:12:11
回答 4查看 125.6K关注 0票数 91

下面是我在示例中使用的代码:

 PRINT @set1
 PRINT @set2

 SET @weight= @set1 / @set2;
 PRINT @weight

结果如下:

47
638
0

我想知道为什么它返回0而不是0,073667712

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-03 18:28:23

将set1和set2声明为浮点数而不是整数,或者将它们强制转换为浮点数作为计算的一部分:

SET @weight= CAST(@set1 AS float) / CAST(@set2 AS float);
票数 171
EN

Stack Overflow用户

发布于 2009-11-03 23:49:25

只需将除法的底部乘以1.0 (或任意多个小数位)

PRINT @set1 
PRINT @set2 
SET @weight= @set1 / @set2 *1.00000; 
PRINT @weight
票数 14
EN

Stack Overflow用户

发布于 2009-11-03 18:14:03

因为它是一个整数。您需要将它们声明为浮点数或小数,或者在计算中强制转换为此类数字。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1666407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档