如何通过使用 T-SQL 将两个整数值相除来获得浮点结果?

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

Using T-SQL and Microsoft SQL Server I would like to specify the number of decimal digits when I do a division between 2 integer numbers like:

select 1/3

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

That currently returns 0. I would like it to return 0,33.

类似于:

select round(1/3, -2)

但这行不通.我怎样才能达到预期的结果?

But that doesn't work. How can I achieve the desired result?

推荐答案

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

The suggestions from stb and xiowl are fine if you're looking for a constant. If you need to use existing fields or parameters which are integers, you can cast them to be floats first:

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

SELECT CAST(MyIntField1 AS float) / CAST(MyIntField2 AS float)

相关文章