在sql server中将结果更改为decimal

时间:2014-04-01 08:52:05

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

我需要将SQL Server 2012中的聚合函数的结果更改为十进制

M1M2是我的表格中的两列,其数据类型为int

我需要找到sum(M1)/sum(M2),结果应该是2位小数。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

我相信你需要将两者都转换为小数。结果将是一个小数,没有其他推断类型转换

cast(sum(M1) as decimal(9,2))/cast(sum(M2) as decimal(9,2))

Precision, Scale, and Length (Transact-SQL)

答案 1 :(得分:0)

您需要在分割前转换值。请阅读BOL文章Data Type Precedence

CAST(SUM(M1) as DECIMAL(10,2))/CAST(SUM(M2) as DECIMAL(10,2)