我见过几个类似的问题,但没有一个满足我的需求。我需要在第一个之后添加另一个THEN语句。我的专栏包含int。当它返回NULL时,我需要它显示一个空格,但是当我尝试下面的代码时,我只会得到'0'。
CASE
WHEN Column1 IS NULL
THEN ''
ELSE Column1
END
如果我尝试在THEN后面加上一个小号,那么它告诉我它不能将其从int转换。我需要将其转换为varchar,然后将其输出更改为空白,例如:
例如
CASE
WHEN Column1 IS NULL
THEN CONVERT(varchar(10), Column1)
THEN ''
ELSE Column1
END
有没有办法做到这一点?
谢谢 罗布
答案 0 :(得分:4)
promise.then
表达式返回单个值-具有给定类型。如果要得到字符串结果,则需要确保case
中的所有路径都返回字符串:
case
这更简单地用CASE WHEN Column1 IS NULL
THEN ''
ELSE CAST(Column1 AS VARCHAR(255))
END
来写:
COALESCE()
您不能将整数显示为“空白”(使用COALESCE(CAST(Column1 as VARCHAR(255)), '')
值除外)。