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