Case语句不会显示varchar

时间:2014-01-20 11:55:17

标签: sql case varchar

我需要通过SQL中的case语句传递varchar。当前数据是一个整数但我想显示文本。

CASE b.religious_belief
WHEN 01 THEN 'none'     
WHEN 05 THEN 'roman catholic'    
 ELSE 0 
END

我一直收到错误

  

将varchar值'none'转换为数据类型int时转换失败。

2 个答案:

答案 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最好。