像SQL查询一样的Intellisense

时间:2016-08-28 13:43:13

标签: sql postgresql

我想在我的Web应用程序中实现intellisence建议引擎,以便下表

COMPANIES (
      id           BIGSERIAL    NOT NULL PRIMARY KEY,
      name         VARCHAR(200) NOT NULL,
      )
CREATE UNIQUE INDEX name ON companies USING BTREE (name);

名称为

的行
'Mysterious unicorn startup'

我可以使用名称中的前两个字母(最好的数字是什么?)来查询名称。如果我输入第一个单词的开头,单词的数量将是变量,查询也应该建议行。

以便以下查询返回此行:

suggest("mysteri");

将匹配:     ' Mysteri ous unicorn startup'

suggest("myunst");

将匹配:  ' 顽固联合 icorn st artup'

suggest("myst");

将匹配: ' 我的独特的独角兽 st artup'

问题是:如何编写适用于所有这些情况的sql SELECT请求?

1 个答案:

答案 0 :(得分:-1)

您正在寻找一个LIKE比较:

SELECT id, name FROM Companies WHERE Name LIKE 'myst%'

但是,不要只是接受用户输入并将其附加到您的查询中,因为这会打开您的SQL注入攻击。在构建查询时,您将要使用参数。