Postgresql:在数组中搜索任意数量的输入

时间:2013-08-03 09:14:58

标签: sql arrays postgresql

我的表(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"}

1 个答案:

答案 0 :(得分:1)

你应该像这样使用数组运算符<@

SELECT * FROM users WHERE array['Wood','Doe'] <@ fullname;

fiddle

但你真正应该做的是对full text search

感兴趣