在 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