我们如何找到作为记录存储在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”列中作为记录存储的字符串中找到一个特定字符串的索引号,例如“foremail”,那么下面的查询将做到这一点-
mysql> Select FIELD('For email', purpose, webaddress) From websites; +----------------------------------------+ | FIELD('For email', purpose, webaddress)| +----------------------------------------+ | 0 | | 0 | | 1 | +----------------------------------------+ 3 rows in set (0.00 sec)
上面的结果集显示,“Foremail”字符串位于第三行的第一个索引处。
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”字符串位于第一行的第二个索引处。