Nếu "MyString" luôn xuất hiện dưới dạng thuật ngữ đầu tiên trong trường, thì điều này sẽ hoạt động:
update MyTable set MyField = replace(MyField, ' MyString','')
Điểm mấu chốt ở trên là chúng tôi tìm kiếm các lần xuất hiện của "MyString" với khoảng trắng ở đầu, vì vậy lần xuất hiện đầu tiên ở đầu trường sẽ bị bỏ qua.
Tuy nhiên, suy đoán của tôi là điều này có thể quá mong manh - điều gì sẽ xảy ra nếu lần xuất hiện đầu tiên của "MyString" không phải ở đầu trường?
trong trường hợp thứ hai này, bạn cần những thứ sau:
UPDATE
MyTable
SET
MyField =
CONCAT(
LEFT(MyField,INSTR(MyField,'MyString') + LENGTH('MyString')),
REPLACE(RIGHT(MyField, LENGTH(MyField) - (INSTR(MyField,'MyString') + LENGTH('MyString'))), 'MyString','')
)
Điều này làm là chia trường thành hai, phần đầu tiên cho đến và bao gồm lần xuất hiện đầu tiên của "MyString" và phần thứ hai thay thế tất cả các lần xuất hiện tiếp theo của nó.