在case语句的帮助下,我希望在Geodept列中获得值为0的结果“Non Revenue
简单case语句-(给出转换错误)
case when GeoDeptId = 0 then 'Non Revenue' else GeoDeptId end
因此,尝试如下,但再次获得值0
convert(int, case when IsNumeric(convert(int, rd.GeoDeptId ))= 0 then convert (varchar(14),'Non Revenue') else rd.GeoDeptId
end ),
因此,尝试如下,但再次获得值0
convert(int, case when IsNumeric(convert(int, rd.GeoDeptId ))= 0 then convert (varchar(14),'Non Revenue') else rd.GeoDeptId
end )
1条答案
按热度按时间j0pj023g1#
将
GeoDeptId
转换为文本:错误的来源是
CASE
表达式的所有分支必须具有相同的类型。由于'Non Revenue'
不可能被强制转换为整数,因此我们可以将GeoDeptId
转换为文本。