Mysql like语句不返回全文

Mysql like语句不返回全文,mysql,Mysql,我正在运行一个来自mediumtext列(data)的like语句,试图提取某些数据并替换为文本 Select CASE WHEN data like '%CPCCCA2002B - Use carpentry tools and equipment:["Workplace Based Training With Employer"]%' THEN 'Workplace' else 0 end as Option FROM formz.user z 但查询似乎不会查找任何过去的“设

我正在运行一个来自mediumtext列(data)的like语句,试图提取某些数据并替换为文本

 Select
 CASE  WHEN data like '%CPCCCA2002B - Use carpentry tools and equipment:["Workplace Based Training With Employer"]%' THEN 'Workplace' else 0 end as Option

  FROM formz.user z
但查询似乎不会查找任何过去的“设备”
我将非常感谢您的帮助。

如果上面给出的是您的真实样本数据,那么在将
反勾选
放在别名上后,它将被视为
关键字

CREATE TABLE testing(content VARCHAR(1000))

INSERT INTO testing VALUES 
('Another things CPCCCA2002B - Use carpentry tools and equipment:["Workplace Based Training With Employer"]testing')

SELECT
 CASE WHEN content 
    LIKE '%CPCCCA2002B - Use carpentry tools and equipment:["Workplace Based Training With Employer"]%' 
THEN 'Workplace' ELSE 0 END AS `Option`
FROM testing z
如果它是因为
[
而发出问题,那么在它前面使用任何特殊字符,比如
*[
,然后使用下面的语法

CASE WHEN content LIKE 'sfsdf*[dsfad' ESCAPE '*' THEN 'Workplace' ELSE '' END
注意:在我尝试的时候,我没有发现第二个问题,但是如果是问题,那么你可以使用上面的语法摆脱它,但是使用你真实内容中从未出现的字符

输出:

Option
---------
Workplace

“…设备:”后面是否有换行符?你是说它匹配的文本不包含“设备”后面的部分吗?你能给出一个记录匹配的示例,即使它不应该匹配(或者相反)?这是因为方括号表示“字符类”在类似的参数中,比如在正则表达式中。您需要避开它们。