单词的SQL查询(不是句子)

时间:2011-10-13 19:44:03

标签: mysql sql

我想查询单个列(varchar):

示例数据行:

1) The fox jumps like a foo on my bar
2) Jumpers are not cool
3) Apple introduced iJump

时输入搜索条件,例如...... 跳转

我希望获得结果集:跳转,跳线,iJump (所以我不想要完整的行)

目前我正在使用MySQL(只要它是开源的我就会接受建议)

2 个答案:

答案 0 :(得分:2)

由于您使用的是MySQL,我建议您查看LIB_MYSQLUDF_PREG

这个开源库将为您提供额外的正则表达式功能,包括PREG_CAPTURE函数,它从字符串中提取正则表达式匹配。

使用此功能,您可以轻松构建正则表达式以返回您正在寻找的匹配...类似于:

\b\w*jump\w*\b

答案 1 :(得分:1)

使用搜索条件获取任何行都很简单:

SELECT sentence
FROM sentences
WHERE sentence LIKE '%jump%'

我可能会在应用程序逻辑中完成剩下的工作,因为在数据库中执行此操作根本无法帮助您。

此外,任何分割字符串并处理它的方法可能都是特定于数据库的,因此您需要说出您正在使用的字符串。