我试图返回具有背景颜色的计数结果,具体取决于表中现有元素的数量。
MS SQL
DECLARE @cc int
SET @cc = (SELECT COUNT(*) FROM PROBLEMS)
SELECT
CASE WHEN @cc>10 THEN concat("<div style='background-color: red'>",cast (@cc as char),"</div>")
ELSE concat("<div style='background-color: green'>",cast (@cc as char),"</div>")
END
FROM PROBLEMS
有什么想法可以解决我的查询吗?
答案 0 :(得分:1)
首先,请不要使用没有长度的char
。
第二,您不需要变量。只需运行查询:
SELECT (CASE WHEN COUNT(*) > 10 THEN '<div style=''background-color: red''>'
ELSE '<div style=''background-color: green''>'
END) + CAST(COUNT(*) as varchar(255)) + '</div>'
FROM PROBLEMS;
注意:
''
(而不是"
)。+
也可以使用,但SQL Server中的串联运算符为concat()
。