因为要在存储过程的SQL中使用 in (2,3,4,5)这样的语句,
而传进去的是字符型"2,3,4,5".
现在是如何,直接转为INT型 2,3,4,5?
因为中间有个逗号,所以不能直接转?有什么好办法
------解决方案--------------------
那就换种方式不用in了。
select * from tb where charindex(','+ltrim(id)+',',','+'1,2,3,4'+',') > 0
------解决方案--------------------
charindex(ltrim(col)+',',传进去的参数)>0
------解决方案--------------------
- SQL code
还用种方法就是动态执行:例如gocreate proc pro_test @a varchar(20)asdeclare @str varchar(max)set @str=''set @str='select * from test where id in([email protected]+')'exec(@str)这样也行
------解决方案--------------------
cast(substring("2,3,4,5",1,1) as int)取得的是2 (int)
cast(substring("2,3,4,5",3,3) as int)取得的是3
cast(substring("2,3,4,5",5,5) as int)取得的是4
cast(substring("2,3,4,5",7,7) as int)取得的是5