在SQL Server 2008R2中使用CAST函数划分2个数字

Edw*_*ard 2 sql sql-server division

我有两个数字我要划分:5262167/162333331当使用Windows计算器(calc.exe)验证时,结果是0.0324158136076195但是当在SQL Server 2008R2中使用简单选择CAST函数时,我没有相同的结果.这是我在SQL编辑器中运行的内容:

select CAST((5262167 / 162333331) as decimal(18,8))
Run Code Online (Sandbox Code Playgroud)

结果是0.00000000

Eso*_*ame 8

你正在进行整数除法,它会截断任何余数.5262167 <162333331,所以你的结果是0.在分割之前投射你的输入.

select CAST(5262167 as decimal(18,8)) / CAST(162333331 as decimal(18,8))
Run Code Online (Sandbox Code Playgroud)