在MySQL SELECT ... LIKE中获取匹配的子字符串

时间:2013-02-05 01:31:37

标签: mysql select substring sql-like

在MySQL中,使用

查询包含大量文本的表格时
SELECT textcol FROM manytexts WHERE textcol LIKE "%interesting % bit%";

如何只返回textcol中的匹配位?

E.g。从

  “等等等等等等等等等等等等等等等等等等等。”

预期结果:

  

“有趣的绿色位”

谢谢!

1 个答案:

答案 0 :(得分:2)

也许有另一种方式,但您可以使用SUBSTRINSTRLENGTH

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

祝你好运。