我想查询单个列(varchar):
样品我们应该:
1) The fox jumps like a foo on my bar
2) Jumpers are not cool
3) Apple introduced iJump
当时,我输入搜索条件,如…
我期望得到一个结果集:跳跃,跳跃,iJump(所以我不想要完整的行)
目前我正在使用MySQL(我开放的建议,只要它是开源的)
既然你正在使用MySQL,我可能建议查看LIB_MYSQLUDF_PREG。
这个开源库将为您提供额外的正则表达式功能,包括PREG_CAPTURE函数,该函数从字符串中提取正则表达式匹配。
使用这个函数,你可以很容易地建立一个正则表达式来返回你正在寻找的匹配…比如:
bw*jumpw*b
使用您的搜索条件获取任何行都很容易:
SELECT sentence
FROM sentences
WHERE sentence LIKE '%jump%'
我可能会在应用程序逻辑中完成其余的工作,因为在数据库中完成这些工作根本没有帮助。
此外,任何分割字符串和处理字符串的方法都可能是特定于数据库的,因此您需要说明使用的是哪一种方法。