2

在 MySQL 中,当查询包含大量文本的表时,使用

SELECT textcol FROM manytexts WHERE textcol LIKE "%interesting % bit%";

我怎样才能只取回 textcol 中的匹配位?

例如从

“等等等等有趣的绿色位等等等等等等”

预期结果:

“有趣的绿色位”

谢谢!

4

1 回答 1

2

也许还有另一种方法,但您可以使用SUBSTR,INSTRLENGTH

SELECT SUBSTR(field, 1, INSTR(field, 'bit') + LENGTH('bit') - 1)
FROM (
  SELECT SUBSTR(YourField, INSTR(YourField, 'interesting'), LENGTH(YourField)) field
  FROM YourTable
  ) t

这是小提琴:http ://sqlfiddle.com/#!2/539b6/2

祝你好运。

于 2013-02-05T01:39:12.747 回答