数学表达式返回零

use*_*970 3 sql sql-server sql-server-2008

很抱歉问一个愚蠢的问题,但这个让我难过.

SELECT 
81234 / 160000 * 100                    AS Try1,
CAST((81234 / 160000 * 100) AS float)   AS Try2
Run Code Online (Sandbox Code Playgroud)

答案是50.77125但两个值都返回零.有什么问题?

谢谢,

Adr*_*der 7

尝试使用小数点.

就像是

SELECT 
81234 / 160000 * 100                    AS Try1,
CAST((81234 / 160000 * 100) AS float)   AS Try2,
81234. / 160000. * 100.                    AS Try3
Run Code Online (Sandbox Code Playgroud)

SQL Fiddle DEMO

来自/(分割)(Transact-SQL)

如果整数被除数除以整数除数,则结果是一个整数,其截断结果的任何小数部分.