如果查找为2的记录,用你的语句 31_20_5 也会被查询出来应为Select * from provider Where CharIndex('_'+'10'+'_','_'+provider_sendarea+'_')>0 Or CharIndex('_'+'2'+'_','_'+provider_sendarea+'_')>0
paoluo(一天到晚游泳的鱼)确实比我考虑的要细得多。
这样是不是也可以 select prov_id,provider_sendarea from provider where provider_sendarea like '%_10_%' or provider_sendarea like '%_2_%'
晕又错了 select prov_id,provider_sendarea from provider where provider_sendarea like '%'+'_10_'+%' or provider_sendarea like '%'+'_2_'+'%'
不行,如果10在最前面呢??你的语句就查询不出来了。 select prov_id,provider_sendarea from provider where '_'+provider_sendarea+'_' like '%_10_%' or '_'+provider_sendarea+'_' like '%_2_%'这样也许可以
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',''))
31_20_5
也会被查询出来应为Select * from provider Where CharIndex('_'+'10'+'_','_'+provider_sendarea+'_')>0 Or CharIndex('_'+'2'+'_','_'+provider_sendarea+'_')>0
select prov_id,provider_sendarea from provider
where provider_sendarea like '%_10_%' or provider_sendarea like '%_2_%'
select prov_id,provider_sendarea from provider
where provider_sendarea like '%'+'_10_'+%' or provider_sendarea like '%'+'_2_'+'%'
select prov_id,provider_sendarea from provider
where '_'+provider_sendarea+'_' like '%_10_%' or '_'+provider_sendarea+'_' like '%_2_%'这样也许可以
你们的不可以吧
我说10和2只是举个例子而已呀
10和2是一个条件呀,变化的
--------------------------这里又不是不可以用变量的,你要什么条件改成什么条件不就可以了。
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',''))