Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL để thay thế bằng ký tự đại diện

Cập nhật:MySQL 8.0 có một hàm REGEX_REPLACE () .

Dưới đây là câu trả lời của tôi từ năm 2014, vẫn áp dụng cho bất kỳ phiên bản nào của MySQL trước 8.0:

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. REPLACE () chỉ thay thế một chuỗi hằng số cho một chuỗi hằng số khác.

Bạn có thể thử một cái gì đó phức tạp, để chọn phần đầu của chuỗi và phần cuối của chuỗi:

UPDATE table
SET Configuration = CONCAT(
      SUBSTR(Configuration, 1, LOCATE('<tag>', Configuration)+4),
      NEW_DATA,
      SUBSTR(Configuration, LOCATE('</tag>', Configuration)
    )

Nhưng điều này không hiệu quả đối với trường hợp bạn có nhiều lần xuất hiện <tag> .

Bạn có thể phải tìm nạp lại hàng đó vào một ứng dụng, thực hiện thay thế chuỗi bằng ngôn ngữ yêu thích của bạn và đăng lại hàng đó. Nói cách khác, quy trình ba bước cho mỗi hàng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL kiểm tra xem hai phạm vi ngày có trùng lặp với đầu vào không

  2. Cảnh báo:mysql_num_rows ():đối số được cung cấp không phải là tài nguyên kết quả MySQL hợp lệ

  3. Giải pháp tốt nhất để tổng hợp kết nối cơ sở dữ liệu trong python là gì?

  4. mật khẩu mysql Kết nối với MySQL bằng PHP

  5. mysqli hay chết, nó có phải chết không?