改个SQL 语句
exec('SELECT * FROM DB_User_Learn WHERE UserID LIKE '+@U+' OR UserID IN ('+@UserID+')')
上面这样的一句语言 我对 @U 传的值是 %0019% @UserID 为 空字符串
运行的时候提示 0019附近有语法错误,请高手指点下要怎么改,谢谢了
------解决方案--------------------应该是@UserID 为 空字符串时 会出异常,可以试试这样
string sql = "SELECT * FROM DB_User_Learn WHERE UserID LIKE %" + @U+ "%";
if(@UserID != "")
sql += " or UserID IN ("+@UserID+")";
注:@U 只需要传具体值就可以了,两个百分号已放入SQL中;也可以用你之前的。。。
------解决方案--------------------declare @sql varchar(8000)
set @sql = 'SELECT * FROM DB_User_Learn WHERE UserID LIKE ''%'+@U+'%'''
set @sql = @sql + case when @UserID='' then '' else ' OR UserID IN ('+@UserID+')' end
exec(@sql)