在动态查询中使用运算符

时间:2017-08-08 05:41:30

标签: sql sql-server-2008 sql-server-2005

我必须使用#34;"运算符,因为我必须在动态查询中组合条件,我有类似的东西。

Declare  @sub varchar(200)  
Set @sub ='1,2' This value is coming from SSRS multivalue param selection 

Declare @commandtext nvarchar(max) 

set @commandtext = 'Select columnames from FROM view VW Where 1=1' 

if(@sub<>0 and @sub is not null and @sub <>'')  

set @commandText = @commandtext +  'and subid in (' + @sub  + ')'   

但是我一直在接受这个和当然是由于数据类型,因为subid在视图中是int类型。但是,由于我检查了其他链接,建议使用连接的分隔符功能。但在我的情况下,我只需要在运营商申请。是否有任何其他方法将字符串转换为int并在&#34; in&#34;中使用它操作

Msg 245, Level 16, State 1, Line 49
Conversion failed when converting the varchar value '1,2' to data type int.

0 个答案:

没有答案