首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-06-22 
大虾帮看下---------如何把这样的varchar转为int?因为要在存储过程的SQL中使用 in (2,3,4,5)这样的语句,而

大虾帮看下---------如何把这样的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('+@a+')'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

热点排行