我想查询单个列(varchar):
示例数据行:
1) The fox jumps like a foo on my bar
2) Jumpers are not cool
3) Apple introduced iJump
时输入搜索条件,例如...... 跳转
我希望获得结果集:跳转,跳线,iJump (所以我不想要完整的行)
目前我正在使用MySQL(只要它是开源的我就会接受建议)
答案 0 :(得分:2)
由于您使用的是MySQL,我建议您查看LIB_MYSQLUDF_PREG。
这个开源库将为您提供额外的正则表达式功能,包括PREG_CAPTURE函数,它从字符串中提取正则表达式匹配。
使用此功能,您可以轻松构建正则表达式以返回您正在寻找的匹配...类似于:
\b\w*jump\w*\b
答案 1 :(得分:1)
使用搜索条件获取任何行都很简单:
SELECT sentence
FROM sentences
WHERE sentence LIKE '%jump%'
我可能会在应用程序逻辑中完成剩下的工作,因为在数据库中执行此操作根本无法帮助您。
此外,任何分割字符串并处理它的方法可能都是特定于数据库的,因此您需要说出您正在使用的字符串。