1

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

The book is on the shelf

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

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

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

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

4

1 回答 1

3
SELECT @a := 'The book is on the shelf', 
    LOCATE('on', @a) AS pos_initial, 
    (LOCATE('on', @a) + LENGTH('on')) as pos_final;
于 2013-04-23T09:03:56.687 回答