![](/img/trans.png)
[英]SQL Select Case Conversion failed when converting the varchar value to data type int.
[英]SQL Select Case Conversion failed when converting the varchar value to data type int
在案例陈述的帮助下,我想在值为 0 的 Geodept 列中获得“非收入”的结果
简单的 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 )
将GeoDeptId
为文本:
CASE WHEN GeoDeptId = 0 THEN 'Non Revenue' ELSE CAST(GeoDeptId AS varchar(max)) END
错误的根源是CASE
表达式的所有分支必须具有相同的类型。 由于无法将'Non Revenue'
转换为整数,因此我们可以将GeoDeptId
转换为文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.