MySQL TEXT 列中的子字符串搜索
MySQL substring search in TEXT column
我在 SQL table 中有一列填充了整个文本文件的内容。有没有办法获取特定术语的所有子字符串匹配项?例如,我想获取单词 "bright star" 从第一次出现前 10 个字符开始到第一次出现后 10 个字符结束的所有出现。
我尝试过这样的事情但没有成功:
SELECT SUBSTRING (PARAGRAPH, -10, 10)
WHERE MATCH (paragraph) AGAINST ("+bright +star" IN BOOLEAN MODE);
我知道 MySQL 查询可以深度嵌套,但我不知道是否可以执行这样的搜索。
非常感谢,
A.
您想使用 Regular Expressions 按您的模式过滤掉匹配的子字符串。
SELECT REGEXP_SUBSTR(paragraph, '.{10}[bright|star].{10}')
我在 SQL table 中有一列填充了整个文本文件的内容。有没有办法获取特定术语的所有子字符串匹配项?例如,我想获取单词 "bright star" 从第一次出现前 10 个字符开始到第一次出现后 10 个字符结束的所有出现。
我尝试过这样的事情但没有成功:
SELECT SUBSTRING (PARAGRAPH, -10, 10)
WHERE MATCH (paragraph) AGAINST ("+bright +star" IN BOOLEAN MODE);
我知道 MySQL 查询可以深度嵌套,但我不知道是否可以执行这样的搜索。
非常感谢, A.
您想使用 Regular Expressions 按您的模式过滤掉匹配的子字符串。
SELECT REGEXP_SUBSTR(paragraph, '.{10}[bright|star].{10}')