select prov_id,provider_sendarea from provider 
where provider_sendarea like '%10%' or provider_sendarea like '%2%'

解决方案 »

  1.   

    如果查找为2的记录,用你的语句
    31_20_5
    也会被查询出来应为Select * from provider Where CharIndex('_'+'10'+'_','_'+provider_sendarea+'_')>0 Or CharIndex('_'+'2'+'_','_'+provider_sendarea+'_')>0 
      

  2.   

    paoluo(一天到晚游泳的鱼)确实比我考虑的要细得多。
      

  3.   

    这样是不是也可以
    select prov_id,provider_sendarea from provider 
    where provider_sendarea like '%_10_%' or provider_sendarea like '%_2_%'
      

  4.   

    晕又错了
    select prov_id,provider_sendarea from provider 
    where provider_sendarea like '%'+'_10_'+%' or provider_sendarea like '%'+'_2_'+'%'
      

  5.   

    不行,如果10在最前面呢??你的语句就查询不出来了。
    select prov_id,provider_sendarea from provider 
    where '_'+provider_sendarea+'_' like '%_10_%' or '_'+provider_sendarea+'_' like '%_2_%'这样也许可以
      

  6.   

    paoluo(一天到晚游泳的鱼) 正解,而且简洁
      

  7.   

    回复人: chf99cn('不到桥头不死心') ( ) 信誉:100  2005-04-11 22:33:00  得分: 0  
     
     
       你们的不可以吧
    我说10和2只是举个例子而已呀
    10和2是一个条件呀,变化的
      
     
    --------------------------这里又不是不可以用变量的,你要什么条件改成什么条件不就可以了。
      

  8.   

    select * from provider 
    where len(provider_sendarea)<>len(replace(provider_sendarea,'10_',''))
    or len(provider_sendarea)<>len(replace(provider_sendarea,'_10',''))
    or len(provider_sendarea)<>len(replace(provider_sendarea,'2_',''))
    or len(provider_sendarea)<>len(replace(provider_sendarea,'_2',''))