使用小数格式 (5,2) 计算 1/100 SQL

Using the decimal format (5,2) with a calculation 1/100 SQL

我遇到了问题,我认为这与语法无关,因为不同计算的相同语法可以正常工作...

理论:

SELECT CONVERT(DECIMAL(5,2), (1 / 100)) 

这个returns0.00实际答案是0.01

示例(分母为 100):

select CONVERT(DECIMAL(5,2), (1/P.denominator))  
From dl.Product_UnitOfMeasure p
Where p.[SKUVariant] = 'ME000965.00'
And   p.[UOM] = 'PAC';

这个returns0.00实际答案是0.01

如有任何帮助,我们将不胜感激。

SQL 服务器进行整数运算,所以 1/100 实际上是 0.

所以,只用小数点:

SELECT CONVERT(DECIMAL(5,2), (1.0 / 100)) 

如果分子真的是一列,我会改变分母:

SELECT CONVERT(DECIMAL(5, 2), col1 / 100.0)