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

MySQL REPLACE () - Thay thế tất cả các phiên bản của một chuỗi con bằng một chuỗi khác

MySQL REPLACE() hàm cho phép bạn thay thế tất cả các lần xuất hiện của một chuỗi con bằng một chuỗi khác. Nó cho phép bạn làm những việc như thay thế tất cả các lần xuất hiện của một từ này bằng một từ khác, v.v.

Bài viết này trình bày cách sử dụng của nó.

Cú pháp

Đây là cách thực hiện cú pháp:

REPLACE(str,from_str,to_str)

Ở đâu str là chuỗi chứa chuỗi con / s. from_str là chuỗi con mà bạn muốn thay thế bằng một chuỗi khác. Và to_str là chuỗi mới sẽ thay thế chuỗi cũ.

Ví dụ

Đây là một ví dụ cơ bản:

SELECT REPLACE('Cats and dogs and cats and rabbits', 'and', 'or') AS Result;

Kết quả:

+---------------------------------+
| Result                          |
+---------------------------------+
| Cats or dogs or cats or rabbits |
+---------------------------------+

Trong trường hợp này, chúng tôi chỉ cần hoán đổi từ and với từ or . Vì có ba lần xuất hiện của từ đó nên cả ba đều được thay thế.

Case-Sensitve

Điều quan trọng cần nhớ là REPLACE() hàm phân biệt chữ hoa chữ thường.

Ví dụ:

SELECT REPLACE('Cats and dogs and cats and rabbits', 'cat', 'flea') AS Result;

Kết quả:

+-------------------------------------+
| Result                              |
+-------------------------------------+
| Cats and dogs and fleas and rabbits |
+-------------------------------------+

Trong trường hợp này, chỉ một bản sao của cat đã được thay thế, bởi vì chỉ có một trường hợp có đúng trường hợp. Phiên bản đầu tiên có chữ hoa C vì vậy nó không khớp.

Xóa một chuỗi con

Bạn cũng có thể xóa hoàn toàn một chuỗi con, đơn giản bằng cách thay thế chuỗi con bằng chuỗi trống ('' ):

SELECT REPLACE('http://www.database.guide', 'www.', '') AS Result;

Kết quả:

+-----------------------+
| Result                |
+-----------------------+
| http://database.guide |
+-----------------------+

Một biện pháp bảo vệ

Một cách khác (có lẽ an toàn hơn) để làm điều này là bao gồm một số văn bản xung quanh, sau đó loại bỏ phần không cần thiết:

SELECT REPLACE('http://www.database.guide', 'http://www.', 'http://') AS Result;

Kết quả:

+-----------------------+
| Result                |
+-----------------------+
| http://database.guide |
+-----------------------+

Điều này bảo vệ chống lại việc vô tình xóa một chuỗi con không nên xóa. Ví dụ:nếu chúng tôi có một URL như http://bestwww.com , sẽ vô tình biến thành http://bestcom không có biện pháp bảo vệ.

Biện pháp bảo vệ tương tự có thể được áp dụng trong trường hợp bạn đang thay thế văn bản (không chỉ xóa nó). Ví dụ:điều này:

SELECT REPLACE('Land of cats and dogs and sand', ' and ', ' or ') AS Result;

Kết quả:

+------------------------------+
| Result                       |
+------------------------------+
| Land of cats or dogs or sand |
+------------------------------+

Trong trường hợp này, tôi đã thêm một khoảng trắng trước và sau chuỗi con và văn bản thay thế của nó.

Nếu tôi không làm điều này, tôi sẽ kết thúc với điều này:

SELECT REPLACE('Land of cats and dogs and sand', ' and ', ' or ') AS Result;

Kết quả:

+----------------------------+
| Result                     |
+----------------------------+
| Lor of cats or dogs or sor |
+----------------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cảnh báo:Không thể sửa đổi thông tin tiêu đề - tiêu đề đã được gửi do lỗi

  2. Nhiều số lượng với các điều kiện khác nhau trong một truy vấn MySQL

  3. mySQL - Tạo một bảng mới bằng cách sử dụng dữ liệu và cột từ ba bảng

  4. Cài đặt MySQL trên máy Mac

  5. HOUR () Ví dụ - MySQL