在 MySQL 中,FIELD() 函式與 FIND_IN_SET() 函式有哪些不同?
眾所周知,這兩個函式都用於從提供給它們的論據中搜索字串,但二者之間有一些顯著的不同,如下所述 −
FIND_IN_SET() − 函式使用字串列表,該列表本身是一個包含子字串(由逗號分隔)的字串。而 FIELD() 函式包含一系列不同的字串,它將從中查詢該字串(如果存在)的索引號,也就是要搜尋的字串。
FIND_IN_SET() − 函式如果任一論據(即搜尋字串或字串列表)為 NULL,則返回 NULL。相比之下,FIELD() 函式不返回 NULL,但如果搜尋字串為 NULL,則返回 0。
示例
mysql> Select FIND_IN_SET(NULL,'Ram is a good boy') AS Result;
+--------+
| Result |
+--------+
| NULL |
+--------+
1 row in set (0.00 sec)
mysql> SELECT FIND_IN_SET('RAM',NULL)AS RESULT;
+--------+
| RESULT |
+--------+
| NULL |
+--------+
1 row in set (0.00 sec)
mysql> Select FIELD(NULL,'Ram','is','good','boy');
+-------------------------------------+
| FIELD(NULL,'Ram','is','good','boy') |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP