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

Cách trả lại vị trí của đối số trong danh sách đối số trong MySQL

Trong MySQL, bạn có thể sử dụng FIELD() hàm để trả về vị trí của một chuỗi hoặc số đã cho trong danh sách các đối số. Hàm trả về chỉ số (vị trí) của đối số đầu tiên trong danh sách các đối số tiếp theo.

Cú pháp như sau:

FIELD(str,str1,str2,str3,...)

Ở đâu str là mục bạn muốn tìm và str1,str2,str3,... là danh sách bạn đang tìm kiếm.

Đây là một ví dụ:

SELECT FIELD('Homer', 'Marge', 'Homer', 'Bart') AS 'Where is Homer?';

Kết quả:

+-----------------+
| Where is Homer? |
+-----------------+
|               2 |
+-----------------+

Trong ví dụ này, danh sách là:'Marge', 'Homer', 'Bart' và chúng tôi đang tìm kiếm chuỗi Homer trong danh sách đó. Và bởi vì Homer là mục thứ 2 trong danh sách các đối số, kết quả là 2 .

Kết hợp Chính xác

Lưu ý rằng nó phải là một đối sánh chính xác, nếu không nó sẽ trả về 0 .

Ví dụ:nếu chúng ta thả r từ Homer , chúng tôi kết thúc tìm kiếm Home thay vào đó:

SELECT FIELD('Home', 'Marge', 'Homer', 'Bart') AS 'Where is Home?';

Kết quả:

+-----------------+
| Where is Home? |
+-----------------+
|               0 |
+-----------------+

Trong trường hợp này, mặc dù Homer chứa Home , nó không phải là một đối sánh chính xác và kết quả là 0 .

Số

FIELD() hàm cũng hoạt động với các số:

SELECT FIELD(1, 3, 2, 1) AS 'Where is 1?';

Kết quả:

+-------------+
| Where is 1? |
+-------------+
|           3 |
+-------------+

Khi tất cả các đối số cho FIELD() là số, tất cả các đối số được so sánh dưới dạng số. Nếu tất cả đều là chuỗi, chúng được so sánh dưới dạng chuỗi. Nếu chúng là hỗn hợp, chúng sẽ được so sánh như gấp đôi.

FIELD() hàm là phần bổ sung cho ELT() , cho phép bạn tìm một mục danh sách theo vị trí của nó trong danh sách.

Ngoài ra, hãy xem Cách trả lại vị trí của một mục trong danh sách bằng cách sử dụng FIND_IN_SET() chức nă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. Cách tạo bảng trong MySQL Workbench bằng GUI

  2. MySQL Workbench:Lỗi trong truy vấn (1064):Lỗi cú pháp gần 'VISIBLE' ở dòng 1

  3. Làm cách nào để chặn đầu ra tiêu đề cột cho một câu lệnh SQL?

  4. MySQL DROP COLUMN

  5. Cài đặt MySQL Workbench để quản trị cơ sở dữ liệu