求助一条SQL like语句!tableID   name  bran_id
1     ss    1,2
2     aa    10,13
3     cc    1,13,15
当bran_id like 1 的时候,结果显示的是ID=1和等于3的,而2不显示因为ID=2的bran_id,是10和13请问我这条SQL语句该怎么写?

解决方案 »

  1.   

    bran_id like '%1,%' or '%,1,%' or '%,1%'
      

  2.   

    string strlike='1'where ','+bran_id+',' like '%'+ strlike +'%'
      

  3.   

    string strlike='1'where ','+bran_id+',' like '%,'+ strlike +',%'
      

  4.   

    select * from table where bran_id like '%1%'
      

  5.   

    bran_id like '%1,%' or '%,1,%'
      

  6.   


    bran_id like '1,%' or '%,1,%'
      

  7.   


    select * from table where   '%你的字符串+','%' like bran_id+',' 
      

  8.   

    select * from table where bran_id like '%1%'
      

  9.   

    select * from [表名]
    where bran_id like '%1,%'
      

  10.   

    如果,bran_id只有1呢?或者11呢?
      

  11.   

    如果是sqlserver数据库的话,建议用CHARINDEX,会比like执行效率高:select * from table  where CHARINDEX(你要的值+',',bran_id+',')<>0
      

  12.   

    这个是技巧问题,如下:select * from [表名]
    where bran_id+',' like '%1,%'
      

  13.   

    这个真的是技巧问题,如果我做,我肯定把这个ID变成.1.2.
    .10.13.
    .1.13.15.这样我就可以like '%.1.%'这样就不会错了把.换成其他符号也行,看你习惯了
      

  14.   

    不过要加要改下where ','+bran_id+',' like '%,'+ strlike +',%'
      

  15.   

    跟我的想法一致的,是在前后加,
    但是执行起来会很麻烦,如果数据一多,你会把所有的bran_id前后加,后再执行
    如果在输入的时候就把,加上,会执行的很快,当然要加索引
      

  16.   

    where ','+bran_id+',' like '%,1,%'