declare @str varchar(20)='2,1,2,3,1,2,4'
declare @return int=0
select @return=1
from (select @str as f ) as a
where f like '%2_____3_____4%'
or f like '%2_______3_______4%'
or f like '%2_________3_________4%'
or f like '%2___________3___________4%'
select @return
------其他解决方案-------------------- where like '2__3__4' ------其他解决方案-------------------- 间隔没关系:like '2%3%4%'
有关系:like '2_3_4%' ------其他解决方案--------------------
select col
from tb,master..spt_values b
where
b.type='P'
and LEFT(col,1)='2'
and SUBSTRING(tb,1+number,1)='3'
and SUBSTRING(tb,1+2*number,1)='4'
------其他解决方案--------------------
select col
from tb,master..spt_values b
where
b.type='P'
and LEFT(col,1)='2'
and SUBSTRING(col,1+number,1)='3'
and SUBSTRING(col,1+2*number,1)='4'
------其他解决方案--------------------
非常感谢,如果用户要求 234之间能隔1-9位这9九情况,这样要写很多or f like
SQL 能不能优化 ------其他解决方案-------------------- where charindex(字段,'2')=1
and 2*charindex(字段,'3')-charindex(字段,'4')=1 ------其他解决方案--------------------