我基本上试图获得两个选择计数的百分比。在下面显示的示例中,我应该有一个简单的2 / 6
,结果为33.33%。但是,当我运行查询时,只返回100%或0%。任何有关它为什么做它的功能的帮助都很棒
CONVERT(DECIMAL(4, 2),
(SELECT Count(driver)
FROM trh a
WHERE a.hn = trh.hn
AND a.driver = trh.driver
AND (a.finishposition < 5
AND a.finishposition IS NOT NULL
AND a.finishposition != 0 )) / Count(driver) ) * 100
现在我尝试CONVERT(DECIMAL(4, 2), 2 / 6)
,这只会返回0.00
好的,你必须将它们转换为小数
答案 0 :(得分:1)
SQL Server执行整数除法。只需cast()
小数或浮点类型的值之一。例如:
/ cast(Count(driver) as decimal(4, 2))