MySQL在字符串中查找字符串的结束位置

时间:2013-04-23 08:54:46

标签: mysql string

我正在寻找一种方法来识别字符串中匹配字符串的结束位置。如果我在字段中有以下文字:

The book is on the shelf

我想找到文本“on”的结束位置,我可以找到使用locate()的开始,它返回起始位置,但我也试图获得结束位置。

我的预期结果将是这样的:

Text                     | End Position
----------------------------------------------
The book is on the shelf | 14

我有一个使用LIKE查找带通配符的匹配文本的查询。我正在搜索可以包含5000个字符的文本的字段,当然,尝试在此字段中查找匹配的文本非常耗时。因此,我希望有一种方法可以基本显示LIKE与文本匹配的位置。也许是开始和结束位置。

1 个答案:

答案 0 :(得分:3)

SELECT @a := 'The book is on the shelf', 
    LOCATE('on', @a) AS pos_initial, 
    (LOCATE('on', @a) + LENGTH('on')) as pos_final;