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

Cách REPLACE () hoạt động trong MariaDB

Trong MariaDB, REPLACE() là một hàm chuỗi tích hợp cho phép bạn thay thế một phần của chuỗi bằng một chuỗi khác.

Hàm chấp nhận ba đối số:chuỗi, chuỗi con để thay thế và chuỗi để thay thế chuỗi con bằng.

Cú pháp

Cú pháp như sau:

REPLACE(str,from_str,to_str)

Ở đâu str là chuỗi và from_str là chuỗi con để thay thế và to_str là chuỗi để thay thế chuỗi con đó bằng.

Ví dụ

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

SELECT REPLACE('Black dog', 'dog', 'cat');

Kết quả:

+------------------------------------+
| REPLACE('Black dog', 'dog', 'cat') |
+------------------------------------+
| Black cat                          |
+------------------------------------+

Trong trường hợp này, chúng tôi đã thay thế chuỗi con dog với cat .

Nhiều Kết hợp

Nếu chuỗi được thay thế xảy ra nhiều lần trong chuỗi, tất cả các lần xuất hiện sẽ được thay thế:

SELECT REPLACE('Black dogs and white dogs', 'dog', 'cat');

Kết quả:

+----------------------------------------------------+
| REPLACE('Black dogs and white dogs', 'dog', 'cat') |
+----------------------------------------------------+
| Black cats and white cats                          |
+----------------------------------------------------+

Không phù hợp

Nếu chuỗi con không xuất hiện trong chuỗi, REPLACE() trả về chuỗi không thay đổi:

SELECT REPLACE('Black dog', 'horse', 'cat');

Kết quả:

+--------------------------------------+
| REPLACE('Black dog', 'horse', 'cat') |
+--------------------------------------+
| Black dog                            |
+--------------------------------------+

Phân biệt chữ hoa chữ thường

REPLACE() hàm thực hiện so khớp phân biệt chữ hoa chữ thường:

SELECT REPLACE('Black dog', 'Dog', 'Cat');

Kết quả:

+------------------------------------+
| REPLACE('Black dog', 'Dog', 'Cat') |
+------------------------------------+
| Black dog                          |
+------------------------------------+

Trong ví dụ này, trường hợp không khớp và vì vậy không có gì được thay thế.

Chuỗi trống

Dưới đây là những gì sẽ xảy ra khi một chuỗi trống được chuyển cho mỗi đối số nhất định:

SELECT 
    REPLACE(' ', 'dog', 'cat') AS "1",
    REPLACE('Black dog', ' ', 'cat') AS "2",
    REPLACE('Black dog', 'dog', ' ') AS "3";

Kết quả:

+------+-----------+--------+
| 1    | 2         | 3      |
+------+-----------+--------+
|      | Black dog | Black  |
+------+-----------+--------+

Vì vậy, trong trường hợp này:

  • Truyền một chuỗi trống cho chuỗi ban đầu trả về một chuỗi trống.
  • Truyền một chuỗi trống cho đối số thứ hai sẽ trả về chuỗi ban đầu.
  • Truyền một chuỗi trống cho đối số thứ ba sẽ xóa chuỗi được thay thế khỏi chuỗi.

Ký tự không gian

Một chuỗi trống không giống với ký tự khoảng trắng.

Dưới đây là những gì sẽ xảy ra khi chúng tôi thay đổi chuỗi trống thành dấu cách:

SELECT 
    REPLACE(' ', 'dog', 'cat') AS "1",
    REPLACE('Black dog', ' ', 'cat') AS "2",
    REPLACE('Black dog', 'dog', ' ') AS "3";

Kết quả:

+------+-------------+---------+
| 1    | 2           | 3       |
+------+-------------+---------+
|      | Blackcatdog | Black   |
+------+-------------+---------+

Do đó, nếu chuỗi không có gì khác ngoài khoảng trắng, thì chúng ta có thể thay thế chuỗi đó bằng một chuỗi khác:

SELECT REPLACE(' ', ' ', 'cat');

Kết quả:

+--------------------------+
| REPLACE(' ', ' ', 'cat') |
+--------------------------+
| cat                      |
+--------------------------+

Đối số rỗng

Cung cấp null kết quả là null :

SELECT 
    REPLACE(null, 'dog', 'cat') AS "1",
    REPLACE('Black dog', null, 'cat') AS "2",
    REPLACE('Black dog', 'dog', null) AS "3";

Kết quả:

+------+------+------+
| 1    | 2    | 3    |
+------+------+------+
| NULL | NULL | NULL |
+------+------+------+

Thiếu đối số

Đang gọi REPLACE() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT REPLACE();

Kết quả:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB Enterprise là gì và làm thế nào để quản lý nó với ClusterControl?

  2. Cách LPAD () hoạt động trong MariaDB

  3. Sử dụng sao chép cụm MySQL Galera để tạo một cụm phân tán theo địa lý:Phần thứ hai

  4. Tự động hóa cơ sở dữ liệu với con rối:Triển khai MySQL &MariaDB Galera Cluster

  5. Cách ADDTIME () hoạt động trong MariaDB