语句为什么出错? select case when 结果='8' then cast(结果 as int)+1 else 结果 end from 结果表
select case when 结果='8' then cast(结果 as int)+1 else 结果 end from 结果表
此语句为什们出错? 错误信息 转换为数据类型为 int 的列时发生语法错误。
结果
ABC
DDD
8
100
CCC
[解决办法]
是的,因为int比字符的优先级高。
[解决办法]
结果字段为字符型的,当转换成int时须有条件限制
[解决办法]
select case when 结果='8' then cast(cast(结果 as int)+1 as varchar) else 结果 end from 结果表