MySQL中,FIELD()函数和FIND_IN_SET()函数有什么区别?

MySQL中,FIELD()函数和FIND_IN_SET()函数有什么区别?

我们知道,这两个函数都用于从它们提供的参数中搜索字符串,但它们之间有一些显著的区别,如下所示。

FIND_IN_SET() – 该函数使用的字符串列表本身就是一个包含由逗号分隔的子字符串的字符串。 而FIELD()函数包含不同字符串的列表,在其中将查找字符串的索引号(如果存在)。

FIND_IN_SET() – 如果任一参数即搜索字符串或字符串列表为空,则该函数返回NULL。相反,FIELD()函数不会返回NULL,而是如果搜索字符串为空,则返回0。

阅读更多:MySQL 教程

例子

 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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程