在MySQL中获取匹配的子字符串选择。。。喜欢

在MySQL中获取匹配的子字符串选择。。。喜欢,mysql,select,substring,sql-like,Mysql,Select,Substring,Sql Like,在MySQL中,使用 SELECT textcol FROM manytexts WHERE textcol LIKE "%interesting % bit%"; 如何在textcol中仅获取匹配的位 例如来自 “废话,废话,废话,废话,废话,废话” 预期结果: “有趣的绿色位” 谢谢 也许还有另一种方法,但您可以使用SUBSTR、INSTR和LENGTH: SELECT SUBSTR(field, 1, INSTR(field, 'bit') + LENGTH('bit') - 1) FR

在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
这是小提琴:


祝你好运。

与此同时,我意识到在一个查询“%interest%bit%”中,由于开头和结尾的百分比,整个记录显然是匹配的。因此,当然,任何其他使我获得预期结果的构造都是受欢迎的。您应该限制您的内部选择(例如,从表中的字段“%interest bit%”),否则您将获得大量空行。。。