SQL结果与背景色

时间:2018-08-21 14:29:43

标签: sql sql-server background-color

我试图返回具有背景颜色的计数结果,具体取决于表中现有元素的数量。

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

有什么想法可以解决我的查询吗?

1 个答案:

答案 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中的字符串,而不是双引号(为此,某些其他数据库确实支持双引号,但这是扩展)。
  • 对于字符串中的单引号,请将其加倍''(而不是")。
  • 始终使用长度作为字符类型。
  • 尽管+也可以使用,但SQL Server中的串联运算符为concat()