T Sql 字符串搜索,匹配字符串的一部分,部分不匹配

TSql string search that mathes part of the string exact and part not

我需要在 Tsql 中找到特定的字符串模式。我希望第一部分完全匹配,第二部分是特定字符以外的任何内容。问题是我希望允许字符串以该字符结尾。例如,我想要一个将 return 所有 url 匹配

的查询
www.test/%any thing but a '/'%/

所以这将是 returned

www.test/group/

这不会

www.test/group/input/

我希望将它放在一个 like 语句中,这样可以更轻松地添加参数。

单人无法做到LIKELIKE 不是 REGEX 并且是有限的。 有 2 LIKEs:

DECLARE @t TABLE (href NVARCHAR(200))

INSERT INTO @t VALUES('www.test/any thing but/asdsa/')
INSERT INTO @t VALUES('www.test/any thing but/')


SELECT * FROM @t WHERE href LIKE N'www.test/%/' AND href NOT LIKE N'www.test/%/%/'

输出:

href
www.test/any thing but/

这对我有用,但我更喜欢 Giorgi 的答案 +1

SELECT T.url 
  FROM ( values ('www.test/group/'), ('www.test/group/input/'), ('www.test/people/')
       ) as T(url)  
 WHERE T.url like 'www.test/%/'
   AND CHARINDEX ( '/' , T.url, CHARINDEX ( '/' , T.url, ( CHARINDEX ( '/' , T.url ) + 1 )  ) + 1 ) <= 0;