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

标签 mysql select substring sql-like

在MySQL中,当使用

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

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

例如来自

"blah blah blah interesting green bit blah blah blah"

预期结果:

"interesting green bit"

谢谢!

最佳答案

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

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/

相关文章:

php - 如何在php中追加文本

mysql - 需要 mySQL 查询帮助

SQL Server 子字符串

php - 如何将数据从 jQuery 传递到 php 以保存到数据库中?

php - 使用 PDO::ATTR_PERSISTENT = true 时,PDO::exec 和 PDO::query 之间有区别吗?

mysql - 从 select/union 构建表

Javascript对选择元素的内容进行排序

mysql - Excel 2010 Unpivot 数据或利用 MySQL 进行 Unpivot

Python:需要用额外的 HTML 或数据库结果替换 HTML 模板中一系列不同的子字符串

java - Pig Latin Translator Program(英文句子输入)