表中有很多条目,以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' 但不运行替换。有什么线索说明原因吗?
FOO
BAA
LIKE 'FOO%BAA'
v1l68za41#
这个答案假设您要删除以开头的文本,包括 FOO ,最多 BAR ,无论何时出现这两个字符串。它还假设 FOO 以及 BAR 每次只发生一次,如果发生的话。一种方法是拼接出你不想要的文本:
BAR
UPDATE yourTable SET col = CONCAT(SUBSTRING_INDEX(col, 'FOO', 1), SUBSTRING_INDEX(col, 'BAA', -1)) WHERE col LIKE '%FOO%BAA%';
下面的演示没有显示更新,但它至少显示了拼接逻辑的工作原理。
1条答案
按热度按时间v1l68za41#
这个答案假设您要删除以开头的文本,包括
FOO
,最多BAR
,无论何时出现这两个字符串。它还假设FOO
以及BAR
每次只发生一次,如果发生的话。一种方法是拼接出你不想要的文本:下面的演示没有显示更新,但它至少显示了拼接逻辑的工作原理。
演示