如何在SQL中计算带小数的百分比?

11 sql sum decimal

如何在SQL中将其转换为小数?下面是等式,我得到答案为78(整数),但真正的答案是78.6(带小数)所以我需要显示这个,否则报告将不会达到100%

(100 * [TotalVisit1]/[TotalVisits]) AS Visit1percent
Run Code Online (Sandbox Code Playgroud)

Lep*_*R64 19

试试这个:

(100.0 * [TotalVisit1]/[TotalVisits]) AS Visit1percent
Run Code Online (Sandbox Code Playgroud)


Sha*_*awn 8

convert(decimal(5,2),(100 * convert(float,[TotalVisit1])/convert(float,[TotalVisits]))) AS Visit1percent
Run Code Online (Sandbox Code Playgroud)

丑陋,但它的工作原理.

  • 我发现转换为十进制比浮动更好.某些分区更适合使用十进制,至少在Microsoft SQL服务器上:SELECT 5555/CAST(1000 AS float),CAST(5555/CAST(1000 AS float)AS数字(5,2)),5555/CAST(1000 AS十进制),CAST(5555/CAST(1000 AS十进制)AS数值(5,2)) (2认同)