like ''%['+@oname+']%''  
-------------------
like ''%'+@oname+'%''  

解决方案 »

  1.   

    like ''%['+@oname+']%'' 
    []这个符号 也是一种通配符号。。
      不能缺的。。
      如 12345
      如果没有[] 那么搜124
      会搜不到
      

  2.   

    print @sql 看看值是什么,看看有没有明显的错误
      

  3.   

    SELECT TOP 10 * FROM tb_CpMain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid
            WHERE  oname like '%大%' and omoney>=         0 and omoney<=     99999
              and (oid NOT IN (SELECT TOP 10  oid 
             FROM tb_cpmain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid 
             ORDER BY oid desc))
    ORDER BY oiD desc
      

  4.   

    这是print出来的。。
    没发现问题。。
    但是查不出
      

  5.   

    set @sql='select * from tb where col like ''%[' + @str + ']%'''这写法是没错的。查不到数据,应该是你连表及其它条件造成的。你自己写成单表模糊查询看看,去掉其它条件。