DECLARE @sql varchar (5000)select * from character as tab1 where  @raceids  like   '%|'+rtrim(ltrim(raceid))+'|%' and  @classids  like   '%|'+rtrim(ltrim(classid))+'|%'set @sql = ???
帮把SQL语句赋值到 @sql 

解决方案 »

  1.   

    set @sql ='select * from character as tab1 where  '+ltrim(@raceids)+'  like   ''%|''+rtrim(ltrim(raceid))+''|%'' and ' +ltrim(@classids)+'  like   ''%|''+rtrim(ltrim(classid))+''|%'''
      

  2.   

    DECLARE @sql varchar (5000)
    declare @raceids varchar(100),@classids varchar(100)
    set @raceids='abcd'
    set @classids='0001'set @sql='select * from character as tab1 where '''+ @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''+ @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''select @sql
    /*
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    select * from character as tab1 where 'abcd' like '%|'+rtrim(ltrim(raceid))+'|%' and '0001' like '%|'+rtrim(ltrim(classid))+'|%'(1 行受影响)*/
      

  3.   

    --变量也应该用两个'括起来
    set @sql ='select * from character as tab1 where  '''+ltrim(@raceids)+'''  like   ''%|''+rtrim(ltrim(raceid))+''|%'' and ''' +ltrim(@classids)+'''  like   ''%|''+rtrim(ltrim(classid))+''|%'''
      

  4.   

    rtrim(ltrim(raceid))raceid 是字段名字,怎么处理?
      

  5.   

    rtrim(ltrim(raceid))raceid 是字段名字,怎么处理?
      

  6.   

    set @sql ='select * from character as tab1 where  '''+ltrim(@raceids)+'''  like   ''%|''+rtrim(ltrim('''+raceid+'''))+''|%'' and ''' +ltrim(@classids)+'''  like   ''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
      

  7.   

    set @sql =
          'select
              * 
           from
              character as tab1 
           where  
              '''+ltrim(@raceids)+'''  
           like
              ''%|''+rtrim(ltrim('''+raceid+'''))+''|%'' 
           and  
              ''' +ltrim(@classids)+'''  
           like  
              ''%|''+rtrim(ltrim('''+classid+'''))+''|%'''
      

  8.   


    set @sql='select * from character as tab1 where '''
            + @raceids +''' like ''%|''+rtrim(ltrim(raceid))+''|%'' and '''
            + @classids +''' like ''%|''+rtrim(ltrim(classid))+''|%'''字段名一样啊!又不是变量不用放外边,就放在字符串引号里面表示的就是那个表的字段名!