【问题标题】:Case statement will not display a varcharcase 语句不会显示 varchar
【发布时间】:2014-02-09 14:05:38
【问题描述】:

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

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

我不断收到错误

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

【问题讨论】:

  • 你能发布你的整个 SQL 语句吗?

标签: sql case varchar


【解决方案1】:

CASE 子句的所有返回值都应该是字符串 (varchar)

CASE b.religious_belief
    WHEN 01 THEN 'none'     
    WHEN 05 THEN 'roman catholic'    
    ELSE 'Jedi' 
END as MyColumnName

【讨论】:

  • 你能说出显示案例数据的列吗??@mitch wheat
【解决方案2】:
CASE b.religious_belief
    WHEN 01 THEN 'none'     
    WHEN 05 THEN 'roman catholic'    
    ELSE '' 
END

else 的返回值也需要是一个 varchar,因此如果您追求“零”值,那么最好使用 ''null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 2015-03-12
    • 1970-01-01
    • 2018-09-05
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多