mysql用通配符替换查询不运行

ovfsdjhp  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(381)

表中有很多条目,以foo开头,以baa结尾
像这样:

FOO here anything 111 BAA
FOO here anything 222 BAA
FOO here anything 333 BAA
FOO here anything 444 BAA
FOO here anything 555 BAA

我想把这些都去掉。。包括 FOO 以及 BAA 正常的select查询使用 LIKE 'FOO%BAA' 但不运行替换。
有什么线索说明原因吗?

v1l68za4

v1l68za41#

这个答案假设您要删除以开头的文本,包括 FOO ,最多 BAR ,无论何时出现这两个字符串。它还假设 FOO 以及 BAR 每次只发生一次,如果发生的话。一种方法是拼接出你不想要的文本:

UPDATE yourTable
SET col = CONCAT(SUBSTRING_INDEX(col, 'FOO', 1), SUBSTRING_INDEX(col, 'BAA', -1))
WHERE col LIKE '%FOO%BAA%';

下面的演示没有显示更新,但它至少显示了拼接逻辑的工作原理。

演示

相关问题