我想选择数据。如果是NULL
,将其替换为 0 并且它是收入,所以我需要转换为圆形,我需要在图表范围内明智地显示这些数据,但问题是我的数据库中的数据不是数字意味着有一些特殊字符'--','/' 或其他内容,我无法从我的数据库中删除这些字符我想更改我的查询它是字符串,它将从 =0 替换我的查询如下:
SELECT ROUND(ISNULL(REVENUE, '0'), 0) AS Revenue,
COUNT(ID) AS Counts,
CASE
WHEN ROUND(ISNULL(REVENUE, '0'), 0) = 0
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 5 THEN 1
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 5
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 10 THEN 2
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 10
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 20 THEN 3
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 20
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 50 THEN 4
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 50
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 100 THEN 5
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 100
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 250 THEN 6
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 250
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 500 THEN 7
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 500
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 1000 THEN 8
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 1000
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 5000 THEN 9
WHEN ROUND(ISNULL(REVENUE, '0'), 0) > 5000
AND ROUND(ISNULL(REVENUE, '0'), 0) <= 10000 THEN 10
ELSE 11
END AS ranges
FROM CT_GLOBALDATA
WHERE CREATEDDATE BETWEEN GETDATE() - 30 AND GETDATE()
GROUP BY REVENUE
SELECT REVENUE
FROM CT_GLOBALDATA