phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Truy vấn SQL để thay thế chuỗi dựa trên ký tự đại diện

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 '

Substring_Index () hàm số. Tương tự, chúng tôi sẽ trích xuất chuỗi con ở cuối sau '">

' một phần.

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 |

Xem trên DB Fiddle




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Truy vấn SQL không hoạt động trên phpMyAdmin vì tôi gặp lỗi

  2. Làm cách nào để xuất / lưu ERD dưới dạng PDF hoặc dưới dạng hình ảnh trong phpMyAdmin?

  3. Phần mở rộng mcrypt bị thiếu. Vui lòng kiểm tra cấu hình PHP của bạn

  4. Cách cài đặt phpMyadmin trên Centos 6.8 với php 5.5

  5. Xuất phpmyadmin VIEW mà không có DATABASE_NAME hoặc ALGORITHM