在 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)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP