我正在从中文本列(数据)中运行类似的语句,试图提取某些数据并替换为文本;
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
但是似乎查询将不会查找“设备”之后的任何内容 我非常感谢您的帮助。
答案 0 :(得分:0)
如果上面给出的是您的真实示例数据,则将backtick
放在别名下,然后将其考虑为keyword
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