Mysql like语句不返回全文
我正在运行一个来自mediumtext列(data)的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 但查询似乎不会查找任何过去的“设
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
“…设备:”后面是否有换行符?你是说它匹配的文本不包含“设备”后面的部分吗?你能给出一个记录匹配的示例,即使它不应该匹配(或者相反)?这是因为方括号表示“字符类”在类似的参数中,比如在正则表达式中。您需要避开它们。