我需要通过SQL中的case语句传递varchar。当前数据是整数,但我想显示文本。
CASE b.religious_belief
WHEN 01 THEN 'none'
WHEN 05 THEN 'roman catholic'
ELSE 0
END
我一直在犯错误
将varchar值“none”转换为数据类型int时,转换失败。
发布于 2014-01-20 11:56:36
CASE子句返回的所有值都应该是字符串(varchar
)。
CASE b.religious_belief
WHEN 01 THEN 'none'
WHEN 05 THEN 'roman catholic'
ELSE 'Jedi'
END as MyColumnName
发布于 2014-01-20 11:58:21
CASE b.religious_belief
WHEN 01 THEN 'none'
WHEN 05 THEN 'roman catholic'
ELSE ''
END
else
的返回也需要一个varchar,所以如果您要的是“零”值,那么''
或null
都是最好的。
https://stackoverflow.com/questions/21233398
复制相似问题