解决方案 »

  1.   

    declare @sql nvarchar(max) 
    set @sql='  where 1=1'select @UserId =isnull(@UserId ,'')if @UserId >''
    set @sql=@sql+'and Userid like ''%'+ @UserId + '%'''EXEC sys.sp_executesql @Sql,N'@@UserId  int,@OwnerTypeID
      

  2.   

    declare @sql nvarchar(max) 
    set @sql='  where 1=1'
     
    select @UserId =isnull(@UserId ,'')
     
    if @UserId >''
    set @sql=@sql+'and Userid like ''%'+ @UserId + '%'''
     
    EXEC sys.sp_executesql @Sql,N'@UserId  int,@OwnerTypeID2楼多了一个@
      

  3.   

    如果你的USERID是INT的话 应该用 ISNULL(@USERID,0)
    下面判断用 IF @USERID>0
      

  4.   

    declare @sql nvarchar(max) 
    set @sql='  where 1=1'
      
    select @UserId =isnull(@UserId ,0)
      
    if @UserId >0
    set @sql=@sql+'and Userid like ''%'+ @UserId + '%'''
      
    EXEC sys.sp_executesql @Sql,N'@UserId  int,@UserId 
    这样应该比较准确点