SQL从int转换为十进制

Dar*_*ren 8 sql casting sql-server-2005

我在表中有两列填充了整数值.对于每条记录,我想划分这两列的值并格式化输出,以便将小数点移动到右侧的位置.

例如,如果我有一个记录的两列的值为4和1,我想将1除以4(所以1/4),那么我希望输出为25.00.

这是我以前尝试过的最后一件事:

CAST(Total AS Decimal(2))/CAST(TotalAnswers AS Decimal(2)) AS 'Percent' 
Run Code Online (Sandbox Code Playgroud)

我无法找到CAST函数的语法解释,看看传递的十进制参数代表什么.当我改变它时,它确实有时会改变小数点右边的位置数,但结果并不总是我所期望的,所以我想对此有所帮助.

Mag*_*nus 19

写这样:

SELECT CAST(CAST(Total As float) / TotalAnswers * 100 As decimal(8, 2))
Run Code Online (Sandbox Code Playgroud)