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

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

Trong MariaDB, FIELD() là một hàm chuỗi được tích hợp sẵn trả về vị trí chỉ mục của chuỗi hoặc số khớp với mẫu được chỉ định.

Nó chấp nhận hai hoặc nhiều đối số. Đầu tiên là mẫu bạn muốn tìm kiếm. Tất cả các đối số tiếp theo là các chuỗi hoặc số để khớp với mẫu.

Cú pháp

Cú pháp như sau:

FIELD(pattern, str1[,str2,...])

Ở đâu pattern là mẫu và str1[, str2,…] đại diện cho các chuỗi hoặc số.

Ví dụ

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

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

Kết quả:

+----------------------------------------+
| FIELD('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.

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

FIELD() hàm coi các chuỗi là không phân biệt chữ hoa chữ thường.

Ví dụ:

SELECT FIELD('BLUE', 'Red', 'Green', 'Blue');

Kết quả:

+---------------------------------------+
| FIELD('BLUE', 'Red', 'Green', 'Blue') |
+---------------------------------------+
|                                     3 |
+---------------------------------------+

Không phù hợp

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

Ví dụ:

SELECT FIELD('Go', 'Red', 'Green', 'Blue');

Kết quả:

+-------------------------------------+
| FIELD('Go', 'Red', 'Green', 'Blue') |
+-------------------------------------+
|                                   0 |
+-------------------------------------+

Số

Khi tất cả các đối số là số, chúng được coi là số. Nếu không, chúng sẽ được coi là gấp đôi.

Ví dụ:

SELECT FIELD(3, 40, 2, 18, 10, 3);

Kết quả:

+----------------------------+
| FIELD(3, 40, 2, 18, 10, 3) |
+----------------------------+
|                          5 |
+----------------------------+

Nhiều Kết hợp

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

SELECT FIELD(3, 40, 3, 18, 10, 3);

Kết quả:

+----------------------------+
| FIELD(3, 40, 3, 18, 10, 3) |
+----------------------------+
|                          2 |
+----------------------------+

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

Cung cấp null vì đối số đầu tiên dẫn đến 0 :

SELECT FIELD(null, 1, 2, 3);

Kết quả:

+----------------------+
| FIELD(null, 1, 2, 3) |
+----------------------+
|                    0 |
+----------------------+

Chỉ cung cấp một đối số chuỗi

Việc cung cấp một đối số duy nhất để so khớp là hợp lệ:

SELECT FIELD(205, 205);

Kết quả:

+-----------------+
| FIELD(205, 205) |
+-----------------+
|               1 |
+-----------------+

Đối số đơn

Nhưng chỉ chuyển một đối số cho FIELD() trả về một lỗi:

SELECT FIELD(205);

Kết quả:

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

Thiếu đối số

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

SELECT FIELD();

Kết quả:

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

  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 JSON_UNQUOTE () Giải thích

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

  3. So sánh Amazon RDS Point-in-Time Recovery với ClusterControl

  4. HA cho MySQL và MariaDB - So sánh bản sao Master-Master với Galera Cluster

  5. MariaDB JSON_VALUE () so với JSON_QUERY ():Sự khác biệt là gì?