Wenn "MyString" immer als erster Begriff im Feld vorkommt, würde dies funktionieren:
update MyTable set MyField = replace(MyField, ' MyString','')
Der entscheidende Punkt oben ist, dass wir nach Vorkommen von „MyString“ mit einem führenden Leerzeichen suchen, sodass das erste Vorkommen am Anfang des Felds ignoriert wird.
Ich vermute jedoch, dass dies zu anfällig ist – was ist, wenn das erste Vorkommen von „MyString“ nicht am Anfang des Felds steht?
in diesem letzteren Fall benötigen Sie Folgendes:
UPDATE
MyTable
SET
MyField =
CONCAT(
LEFT(MyField,INSTR(MyField,'MyString') + LENGTH('MyString')),
REPLACE(RIGHT(MyField, LENGTH(MyField) - (INSTR(MyField,'MyString') + LENGTH('MyString'))), 'MyString','')
)
Dadurch wird das Feld in zwei Teile geteilt, der erste Teil bis einschließlich des ersten Vorkommens von „MyString“ und der zweite Teil ersetzt alle weiteren Vorkommen davon.