我在字符串中有3个常见的字符
ABCxcdk893 --yes
xxxABCpoe4
ABCkkksdlk --yes
ABC4899kff --yes
er45346gdf
现在如何遍历所有字符串的每个字符串,并使用模式获取匹配的字符串,如我们的情况
%[_ABC_]%[0,7]
我说的是什么?
while @i < @len
begin
set @char = SUBSTRING(@MyString, @i,1)
if @char not like '%[^a-zA-Z0-9]%'
begin
?????--HERE ITERATION
-- set @char = ''
end
else
begin
--PATTERN MAKING?????????
-- set @i = @i + 1
end
--set @result =???????
set @i = @i + 1
end
你不会理解这一点,我知道这件事,所以你可以提供匹配2 3个字符串的代码,并在同一个地方返回相同的3个字符,如果exxist我的意思是3个字符串中存在相同的模式。
答案 0 :(得分:1)
如果我清楚地了解你,你想要获得位于同一位置的所有匹配3个字母图案的字符串对。 这是给你的一小段。
我假设你有一个带字符串的表。
<input type="radio">
诀窍是
制作所有字符串中的所有3个字母图案
将字符串与模式进行比较
DECLARE @strs TABLE (s varchar(50))
INSERT INTO @strs (s) VALUES ('ABCxcdk893'), ('xxxABCpoe4'), ('ABCkkksdlk'), ('ABC4899kff'), ('er45346gdf')
答案 1 :(得分:0)
这是我第一次尝试解决你的问题,因为我仍然不清楚你想要什么......
SELECT *
FROM [data table]
WHERE [field name] LIKE 'ABC%'
OR [field name] LIKE 'http://ABC%'
这将匹配以ABC
开头或以http://ABC
开头的任何字符串。如果您需要与此不同的内容,请提供更多示例。