我遇到了“将 varchar 值”转换为数据类型 int 时出现“转换失败”的问题。错误,但唯一带有 CONVERT 的代码在 CASE 中,它永远不会被命中。
create table #temp (id int identity(1,1), optionType int, data varchar(100))
insert into #temp
values
(1,'test'),
(1,'1234'),
(1,'1234'),
(2,'12345'),
(2,'5435435')
select
case optionType
when 1 then data
when 2 then data
when 3 then CONVERT(INT, LEFT(data, CHARINDEX('_', data) - 1))
end
from #temp
drop table #temp
为什么会出现错误??
谢谢