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

Sự khác biệt giữa FIELD () và FIND_IN_SET () trong MySQL

MySQL bao gồm một FIELD() và một FIND_IN_SET() hàm cả hai đều trả về vị trí của một chuỗi trong danh sách. Tuy nhiên, các chức năng này hoạt động hơi khác nhau.

Sự khác biệt chính giữa hai chức năng này là:

  • FIND_IN_SET() trả về vị trí chỉ mục của một chuỗi trong danh sách chuỗi.
  • FIELD() trả về vị trí chỉ mục của một chuỗi trong danh sách các đối số.

Vì vậy, một hàm tìm kiếm một danh sách chuỗi và hàm khác tìm kiếm một danh sách các đối số .

Cú pháp

Trước tiên, hãy xem cú pháp của hai hàm:

FIELD ()

Cú pháp cho FIELD() hàm như sau:

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

Điều này bao gồm một đối số ban đầu, theo sau là nhiều đối số tiếp theo. Các đối số tiếp theo là những gì được tìm kiếm - tuy nhiên có rất nhiều đối số trong số đó.

FIND_IN_SET ()

Cú pháp cho FIND_IN_SET() hàm như sau:

FIND_IN_SET(str,strlist)

Điều này bao gồm một đối số ban đầu, tiếp theo là một đối số khác. Đối số thứ hai chứa danh sách các chuỗi được tìm kiếm.

Ví dụ

FIELD ()

Đây là một ví dụ về FIELD() chức năng đang hoạt động:

SELECT FIELD('horse', 'Cat','Dog','Horse') AS 'Result';

Kết quả:

+--------+
| Result |
+--------+
|      3 |
+--------+

FIND_IN_SET ()

Và đây là cách FIND_IN_SET() hàm sẽ được xây dựng để nhận được cùng một kết quả:

SELECT FIND_IN_SET('horse', 'Cat,Dog,Horse') AS 'Result';

Kết quả:

+--------+
| Result |
+--------+
|      3 |
+--------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng OpenVPN để truy cập an toàn vào cụm cơ sở dữ liệu của bạn trên đám mây

  2. Ví dụ về TIMESTAMP () - MySQL

  3. Adminer - Công cụ quản trị cơ sở dữ liệu dựa trên web nâng cao dành cho Linux

  4. Cách khắc phục Cảnh báo MySQL của Cố vấn Bảo mật

  5. Cách chọn tên cột có khoảng trắng trong MySQL