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

mysqlmysqli database更新于 2024/3/14 8:33:00

我们可以使用 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’字符串位于第一行的第二个索引处。


相关文章