【发布时间】:2015-05-21 13:22:37
【问题描述】:
我在 MySQL 中有一个 longtext 字段。我正在寻找可能在其中的任何“媒体”实例,+/- 10 个上下文字符。单行字段中通常有多个实例,所以我需要查看上下文。我怎样才能写一个查询来做到这一点?我什至想不出从哪里开始。
所以我看到的是这个:
SELECT field_data_body FROM table WHERE field_data_body LIKE '%media%';
+----------------------------------+
| field_data_body |
+----------------------------------+
| ... ode__media_or ... e immediat |
+----------------------------------+
该字段实际上是一个长字符串,我只是解析了实际的测试值以显示与 WHERE 子句匹配的子字符串。
我真正想看到的是字符串media 的所有 个实例,在上面的示例中是两个,但在其他字段中可能更多。 SUBSTR 只显示media 的第一个实例。
【问题讨论】:
-
我猜你需要
WHERE LENGTH(mycolumn) >10? -
你能举个例子吗?你的问题我不清楚
-
您是否使用其他语言来处理这些数据?我不确定 SQL 是否是像这样遍历字符串的最佳解决方案。
-
我可以使用另一种语言(真的是 PHP),但查询会更方便。
-
您是否要搜索某些内容(例如媒体),然后为每个连接的匹配返回搜索到的表达式 +- 10 个字符(或尽可能多的,如果在开始/结束处)?