SQL 服务器 PATINDEX 返回了一个不应该返回的值

SQL Server PATINDEX returning a value when it shouldn't

蔚蓝 SQL 服务器 2017

Status 字段值:

1796-NM_IndiatimesMumbai_Daily has run

声明:

PATINDEX('%[MED]%', Status COLLATE SQL_Latin1_General_CP1_CS_AS)

Returns

7

为什么?我以为我在寻找完全匹配 "MED" 的所有大写字母,所以我期望为 0。显然我的模式语法不正确。

因为 like 与方括号结合 [] 搜索方括号之间的任何字符。你去掉括号了吗 喜欢“%MED%”

一切如你所愿