您好我想知道是否有任何方法可以删除文本字符串中包含@符号的任何行。
我已经尝试过:
DELETE FROM FilteredJobs WHERE Description LIKE '%[@]%'
但是这会返回0行(我知道有4行)
我需要在mySQL中完成此操作,因为将有其他mySQL函数来执行此任务。
答案 0 :(得分:0)
试试这个:
DELETE FROM FilteredJobs WHERE Description LIKE '%@%'
您似乎正在尝试使用包含at符号的正则表达式字符类。这不会与LIKE
一起使用,但它应该与REGEXP
一起使用,例如
DELETE FROM FilteredJobs WHERE Description REGEXP '[@]'
这是一个演示,表明您的方法可以使用REGEXP
:
答案 1 :(得分:0)
您可以使用locate
,它返回主值...
DELETE FROM FilteredJobs WHERE locate('@', Description) > 0;
答案 2 :(得分:-1)
嗯,这是我能想到的,可能不是完美的答案,但绝对可以尝试:
UPDATE FilteredJobs SET Description = REPLACE(Description, '@', 'TO_BE_DELETED');
然后您可以触发正常的DELETE查询:
DELETE FROM FilteredJobs WHERE Description LIKE '%TO_BE_DELETED%';