在 MySQL 中,当查询包含大量文本的表时,使用
SELECT textcol FROM manytexts WHERE textcol LIKE "%interesting % bit%";
我怎样才能只取回 textcol 中的匹配位?
例如从
“等等等等有趣的绿色位等等等等等等”
预期结果:
“有趣的绿色位”
谢谢!
也许还有另一种方法,但您可以使用SUBSTR
,INSTR
和LENGTH
:
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
祝你好运。