Trong MySQL phiên bản 8.0 trở lên, bạn có thể sử dụng REGEX_REPLACE ()
hàm số. Trong vắng mặt giống nhau
, một số hoạt động chuỗi phức tạp có thể được thực hiện. Điều này dựa trên xác nhận
, rằng chuỗi con đã nói chỉ xuất hiện một lần trong một giá trị.
REPLACE ()
không có bất kỳ hỗ trợ nào cho ký tự đại diện, mẫu, biểu thức chính quy, v.v. Nó chỉ thay thế một cố định nhất định chuỗi con với một cố định khác chuỗi con, trong một chuỗi lớn hơn.
Thay vào đó, chúng tôi có thể cố gắng trích xuất các phần của
post_content
. Chúng tôi sẽ trích xuất chuỗi con đứng đầu trước '
một phần. Substring_Index ()
hàm số. Tương tự, chúng tôi sẽ trích xuất chuỗi con ở cuối sau
'">
Giờ đây, chúng ta có thể chỉ cần Concat ()
những phần này để lấy post_content
bắt buộc . Bạn có thể tìm thấy chi tiết về các hàm Chuỗi khác nhau được sử dụng tại đây: https://dev.mysql.com/doc/refman/8.0/en/string-functions.html
Tôi cũng đã thêm một WHERE
điều kiện để chúng tôi chỉ chọn những hàng phù hợp với tiêu chí chuỗi con đã cho của chúng tôi.
UPDATE wp_posts
SET post_content =
CONCAT(
SUBSTRING_INDEX(post_content,
'<p><span id="more-',
1),
SUBSTRING(post_content,
LOCATE('"></span></p>',
post_content,
LOCATE('<p><span id="more-',
post_content)
) + 13) -- 13 is character length of "></span></p>
)
WHERE post_content LIKE '%<p><span id="more-%"></span></p>%';
Truy vấn số 1:Dữ liệu trước khi cập nhật hoạt động
SELECT * FROM wp_posts;
| post_content |
| ------------------------------------------------------- |
| adasdaadsa<p><span id="more-35075"></span></p>121324124 |
| 1412123123<p><span id="more-232"></span></p>adasdaafas |
Truy vấn số 2:Dữ liệu sau khi cập nhật hoạt động
SELECT * FROM wp_posts;
| post_content |
| -------------------- |
| adasdaadsa121324124 |
| 1412123123adasdaafas |