包含以短语开头的整词的字段内容的SQL查询
我正在尝试编写一个SQL查询来获取字段中包含多个关键字的行。查询的用途是获取使用jQuery实现的自动补全器函数的结果 现在,自动完成可以工作了,但我的结果将包括其特定字段中的内容包含查询的每一行。例如,如果我输入短语“ar”,我的结果将包括汽车、吉他、树皮等 我只想返回以短语开头的结果,因为用户很可能不会键入单词中间的随机片段。我可以使用包含以短语开头的整词的字段内容的SQL查询,sql,ruby-on-rails,meta-where,Sql,Ruby On Rails,Meta Where,我正在尝试编写一个SQL查询来获取字段中包含多个关键字的行。查询的用途是获取使用jQuery实现的自动补全器函数的结果 现在,自动完成可以工作了,但我的结果将包括其特定字段中的内容包含查询的每一行。例如,如果我输入短语“ar”,我的结果将包括汽车、吉他、树皮等 我只想返回以短语开头的结果,因为用户很可能不会键入单词中间的随机片段。我可以使用Model.where(:name=~“{params[:q]}%”)[我正在使用meta\u wheregem]获取第一个单词以查询开头的所有行 但是,我还
Model.where(:name=~“{params[:q]}%”)
[我正在使用meta\u where
gem]获取第一个单词以查询开头的所有行
但是,我还想返回字段中第二个单词以查询字符串开头的行,即使第一个单词不是
例如,对于行“black dog”和“dog food”,查询字符串“do”应返回这两行,而查询字符串“do”不应返回“undone”
我应该如何为这样的搜索编写SQL查询
Model.where( (:name =~ "#{params[:q]}%") | (:name =~ "% #{params[:q]}%") )
此结构仅适用于插件Regex支持取决于每个数据库供应商和版本…此Regex的相似性是因为meta_where plugin-当它到达数据库时,它会在类似的查询中转换