Đây thực sự phải là những gì bạn muốn trong MySQL:
UPDATE wp_post
SET post_content = CONCAT(REPLACE(LEFT(post_content, INSTR(post_content, 'A')), 'A', 'B'), SUBSTRING(post_content, INSTR(post_content, 'A') + 1));
Nó phức tạp hơn một chút so với câu trả lời trước đó của tôi - Bạn cần tìm trường hợp đầu tiên của 'A' (sử dụng hàm INSTR), sau đó sử dụng LEFT kết hợp với REPLACE để chỉ thay thế trường hợp đó, thay vì sử dụng SUBSTRING và INSTR để tìm thấy tương tự 'A' bạn đang thay thế và KẾT NỐI nó với chuỗi trước đó.
Xem bài kiểm tra của tôi bên dưới:
SET @string = 'this is A string with A replace and An Answer';
SELECT @string as actual_string
, CONCAT(REPLACE(LEFT(@string, INSTR(@string, 'A')), 'A', 'B'), SUBSTRING(@string, INSTR(@string, 'A') + 1)) as new_string;
Sản xuất:
actual_string new_string
--------------------------------------------- ---------------------------------------------
this is A string with A replace and An Answer this is B string with A replace and An Answer