Sql server SQL Server charindex()似乎失败-是否包含标点符号?

Sql server SQL Server charindex()似乎失败-是否包含标点符号?,sql-server,charindex,Sql Server,Charindex,我将MySQL数据库转换为SQL Server 在一列中,我正在查找一个字符串: “状态”:“已解决” 请注意,该列中有引号 在MySQL中,我有这个函数--- 注意,我用反斜杠转义双引号(全部四个)。这和预期的一样有效 现在,我在SQL Server中拥有完全相同的数据(已验证) 我正在执行以下功能: charindex('\"status\":\"solved\"', child_events)>0 而且 charindex('""status"":""solved""', chil

我将MySQL数据库转换为SQL Server

在一列中,我正在查找一个字符串:

“状态”:“已解决”

请注意,该列中有引号

在MySQL中,我有这个函数---

注意,我用反斜杠转义双引号(全部四个)。这和预期的一样有效

现在,我在SQL Server中拥有完全相同的数据(已验证)

我正在执行以下功能:

charindex('\"status\":\"solved\"', child_events)>0
而且

charindex('""status"":""solved""', child_events)>0
这是失败的。它会带回一些行(第一行可能是实际行数的2%,第二行可能是0%)。但我要说的是,找到:

解决

然后找到所有结果


这是怎么回事?为什么
charindex
不起作用?列数据类型是
varchar(max)
——我最初是从文本数据类型转换过来的(我习惯于MySQL)——所以这可能不起作用。列的长度也可能相当长——可能多达300或400个字符。非常感谢您的任何想法。

您不需要在这里逃避
,因此以下内容应该有效:

charindex('"status":"solved"', child_events)>0

例如:

我现在不觉得自己很笨。无论如何,我非常感激。
charindex('"status":"solved"', child_events)>0