我想分两个整数:8/15并返回" 53.33"。
我已经尝试过每一个组合,而且我发现这是我能够返回所需值的唯一方法:
select cast(100*cast(8/cast(15 as decimal(10,4)) as decimal(18,4)) as decimal(18,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)