我们如何找到作为记录存储在MySQL表的列中的字符串的索引位置?

我们可以使用FIELD()函数来查找作为记录存储在MySQL表的列中的字符串的索引位置。为了说明这一点,我们使用名为“网站”的表,其中包含以下数据

示例

mysql> Select * from websites;
+----+---------------+------------------------+
| Id | Purpose       | Webaddress             |
+----+---------------+------------------------+
| 1  | For tutorials | www.nhooo.com |
| 2  | For searching | www.google.co.in       |
| 3  | For email     | www.gmail.com          |
+----+---------------+------------------------+
3 rows in set (0.00 sec)

现在,假设如果我们想从该表的“用途”和“ Webaddress”列中作为记录存储的字符串中找到一个特定字符串的索引号,例如“ for email”,那么下面的查询将做到这一点-

mysql> Select FIELD('For email', purpose, webaddress) From websites;
+----------------------------------------+
| FIELD('For email', purpose, webaddress)|
+----------------------------------------+
|                                      0 |
|                                      0 |
|                                      1 |
+----------------------------------------+
3 rows in set (0.00 sec)

上面的结果集显示,“ For email”字符串位于第三行的第一个索引处。

mysql> Select FIELD('www.nhooo.com', purpose, web address) From websites;
+------------------------------------------------------+
| FIELD('www.nhooo.com', purpose, web address)|
+------------------------------------------------------+
|                                                    2 |
|                                                    0 |
|                                                    0 |
+------------------------------------------------------+
3 rows in set (0.00 sec)

上面的结果集显示,“ www.nhooo.com”字符串位于第一行的第二个索引处。

猜你喜欢