首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用T-SQL将两个整数值相除,得到一个浮点数结果?

如何使用T-SQL将两个整数值相除,得到一个浮点数结果?
EN

Stack Overflow用户
提问于 2012-07-30 17:51:43
回答 6查看 364.6K关注 0票数 219

使用T-SQL和Microsoft SQL Server,当我在两个整数之间进行除法时,我想指定小数位数,如下所示:

select 1/3

它当前返回0。我希望它返回0,33

类似于:

select round(1/3, -2)

但这并不管用。如何才能达到预期的效果?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-07-30 20:05:45

如果你正在寻找一个常量,来自stb和xiowl的建议是很好的。如果您需要使用现有的整型字段或参数,可以先将它们转换为浮点型:

SELECT CAST(1 AS float) / CAST(3 AS float)

SELECT CAST(MyIntField1 AS float) / CAST(MyIntField2 AS float)
票数 345
EN

Stack Overflow用户

发布于 2012-07-30 17:55:54

因为SQL Server执行整数除法。试试这个:

select 1 * 1.0 / 3

当您将整数作为参数传递时,这很有帮助。

select x * 1.0 / y
票数 81
EN

Stack Overflow用户

发布于 2015-06-04 16:55:52

没有必要同时对它们进行强制转换。分区的结果数据类型始终是具有较高data type precedence的数据类型。因此,解决方案必须是:

SELECT CAST(1 AS float) / 3

SELECT 1 / CAST(3 AS float)
票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11719044

复制
相关文章

相似问题

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