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

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

Trong MariaDB, FIND_IN_SET() là một hàm chuỗi tích hợp trả về vị trí chỉ mục nơi mẫu đã cho xuất hiện trong danh sách chuỗi được chỉ định.

Nó chấp nhận hai đối số. Đầu tiên là mẫu bạn muốn tìm kiếm. Đối số thứ hai là một chuỗi chứa các giá trị được phân tách bằng dấu phẩy để khớp với mẫu.

Cú pháp

Cú pháp như sau:

FIND_IN_SET(pattern, strlist)

Ở đâu pattern là mẫu bạn muốn tìm kiếm và strlist đại diện cho chuỗi các giá trị được phân tách bằng dấu phẩy để tìm kiếm.

Ví dụ

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

SELECT FIND_IN_SET('Green', 'Red,Green,Blue');

Kết quả:

+----------------------------------------+
| FIND_IN_SET('Green', 'Red,Green,Blue') |
+----------------------------------------+
|                                      2 |
+----------------------------------------+

Trong trường hợp này, mẫu (Green ) xảy ra ở vị trí thứ hai, và vì vậy 2 được trả lại.

Không phù hợp

Nếu không có kết quả phù hợp, 0 được trả lại.

Ví dụ:

SELECT FIND_IN_SET('Nope', 'Red,Green,Blue');

Kết quả:

+---------------------------------------+
| FIND_IN_SET('Nope', 'Red,Green,Blue') |
+---------------------------------------+
|                                     0 |
+---------------------------------------+

Nhiều Kết hợp

Nếu có nhiều kết quả phù hợp, chỉ chỉ mục của kết quả đầu tiên được trả về:

SELECT FIND_IN_SET('Dog', 'Cat,Dog,Cat,Dog,Cat');

Kết quả:

+-------------------------------------------+
| FIND_IN_SET('Dog', 'Cat,Dog,Cat,Dog,Cat') |
+-------------------------------------------+
|                                         2 |
+-------------------------------------------+

Chỉ định một mẫu Null

Cung cấp null vì đối số đầu tiên dẫn đến null được trả lại:

SELECT FIND_IN_SET(null, 'Cat,Dog,Cat');

Kết quả:

+----------------------------------+
| FIND_IN_SET(null, 'Cat,Dog,Cat') |
+----------------------------------+
|                             NULL |
+----------------------------------+

Chỉ định danh sách chuỗi rỗng

Cung cấp null vì đối số thứ hai cũng dẫn đến null :

SELECT FIND_IN_SET('Dog', null);

Kết quả:

+--------------------------+
| FIND_IN_SET('Dog', null) |
+--------------------------+
|                     NULL |
+--------------------------+

Danh sách chuỗi trống

Nếu danh sách chuỗi trống, FIND_IN_SET() trả về 0 :

SELECT FIND_IN_SET('Dog', '');

Kết quả:

+------------------------+
| FIND_IN_SET('Dog', '') |
+------------------------+
|                      0 |
+------------------------+

Dấu phẩy trong mẫu

FIND_IN_SET() không trả về kết quả chính xác nếu mẫu chứa dấu phẩy:

SELECT FIND_IN_SET('Green,', 'Red,Green,Blue');

Kết quả:

+-----------------------------------------+
| FIND_IN_SET('Green,', 'Red,Green,Blue') |
+-----------------------------------------+
|                                       0 |
+-----------------------------------------+

Đối số đơn

Chỉ chuyển một đối số tới FIND_IN_SET() trả về một lỗi:

SELECT FIND_IN_SET('Cat');

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIND_IN_SET'

Thiếu đối số

Gọi FIND_IN_SET() mà không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT FIND_IN_SET();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FIND_IN_SET'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai bản sao MySQL Multicloud an toàn trên AWS và GCP với VPN

  2. 2 cách thay thế chuỗi con trong MariaDB

  3. Cách triển khai MySQL hoặc MariaDB Galera Cluster sẵn sàng sản xuất bằng ClusterControl

  4. Triển khai bản sao MariaDB để có tính khả dụng cao

  5. Di chuyển Amazon RDS (MySQL hoặc MariaDB) sang máy chủ On-Prem