Sql server 2012 使用SQL Server对PATINDEX中的方括号进行转义

Sql server 2012 使用SQL Server对PATINDEX中的方括号进行转义,sql-server-2012,Sql Server 2012,这不会返回预期的结果。不确定如何避开左方括号和右方括号,以便PATINDEX将其考虑在内 有什么线索吗?非常感谢 SELECT PATINDEX('%[[SQLSERV]].DBNAME.DBO.[[[0-9a-zA-Z]]]%','ert[SQLSERV].DBNAME.DBO.[Table name]asdadsf') 这应该返回3,但返回0。显然不需要转义右括号: SELECT PATINDEX('%[[]SQLSERV].DBNAME.DBO.[[][0-9a-zA

这不会返回预期的结果。不确定如何避开左方括号和右方括号,以便
PATINDEX
将其考虑在内

有什么线索吗?非常感谢

SELECT 
    PATINDEX('%[[SQLSERV]].DBNAME.DBO.[[[0-9a-zA-Z]]]%','ert[SQLSERV].DBNAME.DBO.[Table name]asdadsf')

这应该返回3,但返回0。

显然不需要转义右括号:

SELECT 
    PATINDEX('%[[]SQLSERV].DBNAME.DBO.[[][0-9a-zA-Z _-]%','ert[SQLSERV].DBNAME.DBO.[Table name]asdadsf')
上面返回4

此外,我们不能像使用LIKE那样定制转义字符和PATINDEX