Sql server 将所有内容都转换为2个小数点?

Sql server 将所有内容都转换为2个小数点?,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,我想除以两个整数:8/15并返回“53.33” 我尝试了每种组合,发现这是返回所需值的唯一方法: 选择cast(100*cast(8/cast(15为十进制(10,4))作为十进制(18,4))作为十进制(18,2)) 有较短的路吗 谢谢。试试这个: select (cast (8 as money)/cast(15 as money) * 100) 你在做整数除法。使用float,然后乘以100 select 8/15.00 * 100 或者,为了精确起见,只需执行一次演员阵容 selec

我想除以两个整数:8/15并返回“53.33”

我尝试了每种组合,发现这是返回所需值的唯一方法:

选择cast(100*cast(8/cast(15为十进制(10,4))作为十进制(18,4))作为十进制(18,2))

有较短的路吗

谢谢。

试试这个:

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

你在做整数除法。使用float,然后乘以100

select 8/15.00 * 100
或者,为了精确起见,只需执行一次演员阵容

select cast(8/15.00 * 100 as decimal (10,2))
如果这些是表中的整数,则乘以1.0并强制转换一次

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

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

CAST(8*1.0/15为十进制(10,2))
?只需将其乘以*100,谢谢。我没有“15.00”,我有“15”。所以我需要计算分母和结果。