我的表(table1)中有一条记录,其名称为" Jonh Wood Doe Smith"我希望即使用户输入任何可能的组合也会返回它:" John Doe"," Jonn Wood Smith"等
我实现了一个collumn(fullName),它是一个包含所有名称的数组,并且正在考虑搜索它:
SELECT * FROM table1 WHERE ({"Wood","Doe"}) IN ANY (fullName)
您知道这是否可行和/或解决此类问题的最佳方法是什么?我将使用postgresql,所以专有的方法,功能等不是问题。它不需要是与其他DB兼容的方法。
注意:fullName就像这样{{#34; John"," Wood"," Doe"," Smith"}
答案 0 :(得分:1)
你应该像这样使用数组运算符<@
:
SELECT * FROM users WHERE array['Wood','Doe'] <@ fullname;
但你真正应该做的是对full text search
感兴趣