这不会返回预期的结果.不知道如何逃脱左右方括号,以便PATINDEX将它们考虑在内.
有线索吗?非常感谢.
SELECT
PATINDEX('%[[SQLSERV]].DBNAME.DBO.[[[0-9a-zA-Z]]]%','ert[SQLSERV].DBNAME.DBO.[Table name]asdadsf')
Run Code Online (Sandbox Code Playgroud)
这应该返回3,但它返回0.
显然右括号不需要转义:
SELECT
PATINDEX('%[[]SQLSERV].DBNAME.DBO.[[][0-9a-zA-Z _-]%','ert[SQLSERV].DBNAME.DBO.[Table name]asdadsf')
Run Code Online (Sandbox Code Playgroud)
以上返回4。
此外,我们不能像使用 LIKE 那样自定义带有 PATINDEX 的转义字符。