在MySQL中,当使用
查询包含大段文本的表时SELECT textcol FROM manytexts WHERE textcol LIKE "%interesting % bit%";
如何只取回 textcol 中的匹配位?
例如来自
"blah blah blah interesting green bit blah blah blah"
预期结果:
"interesting green bit"
谢谢!
最佳答案
也许还有另一种方法,但您可以使用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
这是 fiddle :http://sqlfiddle.com/#!2/539b6/2
祝你好运。
关于mysql - 在 MySQL 中获取匹配的子字符串 SELECT ... LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14698732/