投入一切2小数点?

时间:2017-12-06 19:17:54

标签: sql-server sql-server-2008 tsql

我想分两个整数:8/15并返回" 53.33"。

我已经尝试过每一个组合,而且我发现这是我能够返回所需值的唯一方法:

select cast(100*cast(8/cast(15 as decimal(10,4)) as decimal(18,4)) as decimal(18,2))

有更短的路吗?

感谢。

2 个答案:

答案 0 :(得分:1)

你正在进行整数分裂。使用float,然后乘以100。

select 8/15.00 * 100

或者,为了您的精确度,只需执行一次

select cast(8/15.00 * 100 as decimal (10,2))

如果这些是表格中的整数,那么乘以1.0并投出一次

<强>样本

declare @table table (int_one int, int_two int)
insert into @table 
values
(8,15)

select 
    cast(((int_one * 1.0) / int_two) * 100 as decimal(10,2))
from @table

答案 1 :(得分:0)

试试这个:

select (cast (8 as money)/cast(15 as money) * 100)