select * from tb where len(col)-len(replace(col,'111',''))<>3
--如果有三个111被replace为空,那么不存在len(replace(@sql,'111',''))>=len(@sql)-6 --替换一个或两111被replace为空,那么存在len(replace(@sql,'111',''))>=len(@sql)-6declare @sql varchar(1000) set @sql='1111,2222,3333,1112,1113,1114'select @sql where charindex('1111',@sql)>0 and len(replace(@sql,'111',''))>len(@sql)-6 set @sql='1111,2222,3333,1112' select @sql where charindex('1111',@sql)>0 and len(replace(@sql,'111',''))>=len(@sql)-6----------------------------(所影响的行数为 0 行) ---------------------------- 1111,2222,3333,1112(所影响的行数为 1 行)
select * from tb where len(col)-len(replace(col,'111',''))<>3 and CHARINDEX(','+'1111'+',',','+ col +',')>0
select * from tb where len(col)-len(replace(col,'111',''))<3 and charindex(','+'11111'+',',','+col+',')>0
from tb
where len(col)-len(replace(col,'111',''))<>3
--替换一个或两111被replace为空,那么存在len(replace(@sql,'111',''))>=len(@sql)-6declare @sql varchar(1000)
set @sql='1111,2222,3333,1112,1113,1114'select @sql where charindex('1111',@sql)>0 and len(replace(@sql,'111',''))>len(@sql)-6
set @sql='1111,2222,3333,1112'
select @sql where charindex('1111',@sql)>0 and len(replace(@sql,'111',''))>=len(@sql)-6----------------------------(所影响的行数为 0 行)
----------------------------
1111,2222,3333,1112(所影响的行数为 1 行)
from tb
where len(col)-len(replace(col,'111',''))<>3
and CHARINDEX(','+'1111'+',',','+ col +',')>0
*
from
tb
where
len(col)-len(replace(col,'111',''))<3
and
charindex(','+'11111'+',',','+col+',')>0