划分 COUNT 列时的 CAST 函数
CAST function when dividing COUNT columns
基本上,我将一个计数列除以另一个计数列,得到一个名为 Conversion Rate
的新列。问题是当使用 CAST 函数显示 2 个小数位时,它们显示为 0.00,而它们不应该显示为 0.00,它们应该是 0.36、0.04、0.56 等。如何让它显示正确的小数位?
这是我使用的代码:
CAST (((COUNT (CASE runtime WHEN '1' THEN 1 ELSE NULL END))/(COUNT (*))) AS DECIMAL (10,2))
谢谢
这样做怎么样?
select cast(avg(case when runtime = '1' then 1.0 else 0 end) as decimal(10, 2))
不知道怎么回事。看到这个 SqlFiddle
这是我试过的:
COUNT(CASE WHEN runtime = "1" THEN 1 ELSE NULL END) AS cnt1, COUNT(*) AS Cnt2,
CAST(COUNT(CASE WHEN runtime = "1" THEN 1 ELSE NULL END)/COUNT(*) AS DECIMAL(10,2)) AS Result
基本上,我将一个计数列除以另一个计数列,得到一个名为 Conversion Rate
的新列。问题是当使用 CAST 函数显示 2 个小数位时,它们显示为 0.00,而它们不应该显示为 0.00,它们应该是 0.36、0.04、0.56 等。如何让它显示正确的小数位?
这是我使用的代码:
CAST (((COUNT (CASE runtime WHEN '1' THEN 1 ELSE NULL END))/(COUNT (*))) AS DECIMAL (10,2))
谢谢
这样做怎么样?
select cast(avg(case when runtime = '1' then 1.0 else 0 end) as decimal(10, 2))
不知道怎么回事。看到这个 SqlFiddle
这是我试过的:
COUNT(CASE WHEN runtime = "1" THEN 1 ELSE NULL END) AS cnt1, COUNT(*) AS Cnt2,
CAST(COUNT(CASE WHEN runtime = "1" THEN 1 ELSE NULL END)/COUNT(*) AS DECIMAL(10,2)) AS Result