Если «MyString» всегда будет иметь место как первый член в этой области, это будет работать:
update MyTable set MyField = replace(MyField, ' MyString','')
Ключевым моментом выше является то, что мы ищем вхождения «MyString» с ведущим пространством, так первое вхождение в начале поля будет проигнорировано.
Однако, я думаю, это может быть слишком хрупким - что, если первое появление «MyString» не находится в начале поля?
в этом последнем случае вам необходимо следующее:
UPDATE
MyTable
SET
MyField =
CONCAT(
LEFT(MyField,INSTR(MyField,'MyString') + LENGTH('MyString')),
REPLACE(RIGHT(MyField, LENGTH(MyField) - (INSTR(MyField,'MyString') + LENGTH('MyString'))), 'MyString','')
)
Что это делает, чтобы разделить поле на два, первая часть, вплоть до первого вхождения «MyString», а вторая часть заменяя все дальнейшие его появления.
Теперь добавлено лучшее решение для вас, которое будет иметь дело с экземплярами, когда «MyString» не является первым термином в поле. Я надеюсь тебе понравится! –