日期:2014-05-18  浏览次数:20457 次

求字符串判断存在的问题!
字符串输入的格式可能如下如下:  
755-123456、123456-755,123456,   755123456,这些字符串实际是等同的,就是说只要任意两个字符串比较有123456即可认定是存在。like不能完全支持,不知道SQL语句如何写!请各位大虾指教,谢谢!


------解决方案--------------------
123456是指定的吗?只要每个字符串含有123456就认为存在?
------解决方案--------------------
首先得把规则挖掘出来,否则是没法去做的

------解决方案--------------------
select * from 表名
where charindex( '123456 ',字段名)> 0
------解决方案--------------------
create function a11
(@string1 varchar(100),@string2 varchar(100))returns int
as
begin
declare @i int
set @i=1
while @i <=len(@string1)-5
begin
if charindex(substring(@string1,@i,6),@string2)> 0
return 1
set @i=@i+1
end
return 0

end
go

select dbo.a11( 'a123456ll ', '24123456- ') --结果为1
select dbo.a11( 'a123456ll ', '2412345n6- ') --结果为0