我需要通过SQL中的case语句传递varchar。当前数据是一个整数但我想显示文本。
CASE b.religious_belief
WHEN 01 THEN 'none'
WHEN 05 THEN 'roman catholic'
ELSE 0
END
我一直收到错误
将varchar值'none'转换为数据类型int时转换失败。
答案 0 :(得分:1)
CASE子句中的所有返回值都应该是字符串(varchar
)
CASE b.religious_belief
WHEN 01 THEN 'none'
WHEN 05 THEN 'roman catholic'
ELSE 'Jedi'
END as MyColumnName
答案 1 :(得分:1)
CASE b.religious_belief
WHEN 01 THEN 'none'
WHEN 05 THEN 'roman catholic'
ELSE ''
END
else
的返回也需要是一个varchar,所以如果你的值为“零”,那么''
或null
最好。