当前位置: 代码迷 >> Sql Server >> 帮看下-怎么把这样的varchar转为int
  详细解决方案

帮看下-怎么把这样的varchar转为int

热度:4   发布时间:2016-04-27 12:17:19.0
大虾帮看下---------如何把这样的varchar转为int?
因为要在存储过程的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
  相关解决方案