SQL查询数学运算

SQL Query Mathematic operation

我在 SQL Server Management Studio

中执行以下代码
SELECT       CAST (9/100 AS DECIMAL(8,3))

这应该 return 0.090 但 Return 0.000 .

谁能告诉我问题出在哪里,为什么会给我这个输出?

您当前方法的问题是 9/100 比率是使用整数除法计算的 在您将 转换为十进制之前。到转换发生时,已经太晚了,您已经丢失了小数部分。只是我会做:

SELECT 9 / 100.0;  -- 0.090000

只要分子或分母是小数,商也带小数。