我正在使用SQL Server 2005.我试图从TINYINT字段中进行选择。如果该字段的值为0,我想选择一个空字符串,而不是''。字段名称是级别。下面是我在做什么:当TINYINT字段条件符合返回字符串时的SELECT CASE
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN ' '
ELSE t.[Level]
END
FROM table t
该代码总是返回0,我试图解决该问题,并试图此:
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN 'test'
ELSE t.[Level]
END
FROM table t
而且我得到了一个错误Conversion failed when converting the varchar value 'test' to data type tinyint
所以我看到这里存在转换问题。我试过了:
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN CONVERT(VARCHAR,t.[level])
ELSE t.[Level]
END
FROM table t
但是,这当然仍然返回0,只是字符,所以它仍然没有做我所需要的。我在想,最有可能有更好的方式来做到这一点,但我不知道如何处理它。谁能给我一些关于如何处理这个问题的建议?非常感谢!