如何查找存储为 MySQL 表列中的记录的字符串的索引位置?


我们可以使用 FIELD() 函数来查找存储为 MySQL 表列中的记录的字符串的索引位置。为了演示这一点,我们使用名为“websites”的表,其具有以下数据

示例

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

现在,假设我们想从存储在此表“Purpose”和“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.tutorialspoint.com', purpose, web address) From websites;
+------------------------------------------------------+
| FIELD('www.tutorialspoint.com', purpose, web address)|
+------------------------------------------------------+
|                                                    2 |
|                                                    0 |
|                                                    0 |
+------------------------------------------------------+
3 rows in set (0.00 sec)

以上结果集显示“www.tutorialspoint.com”字符串在第一行的第二个索引。

更新于: 22-Jun-2020

122 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告