我正在寻找一种方法来识别字符串中匹配字符串的结束位置。如果我在字段中有以下文字:
The book is on the shelf
我想找到文本“on”的结束位置,我可以找到使用locate()的开始,它返回起始位置,但我也试图获得结束位置。
我的预期结果将是这样的:
Text | End Position
----------------------------------------------
The book is on the shelf | 14
我有一个使用LIKE查找带通配符的匹配文本的查询。我正在搜索可以包含5000个字符的文本的字段,当然,尝试在此字段中查找匹配的文本非常耗时。因此,我希望有一种方法可以基本显示LIKE与文本匹配的位置。也许是开始和结束位置。
答案 0 :(得分:3)
SELECT @a := 'The book is on the shelf',
LOCATE('on', @a) AS pos_initial,
(LOCATE('on', @a) + LENGTH('on')) as pos_final;