首先,我使用postgres版本9.4。我正在尝试在此查询上创建部分索引
<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
<html>
<head>
<title>JSON Data</title>
<link rel="stylesheet" href="dist/css/bootstrap.css" />
</head>
<body>
<div class="container-fluid">
<%
String[] names = { "Alfreds Futterkiste", "B's Beverages", "Berglunds snabbköp", "Blondel père et fils", "Bólido Comidas preparadas", "Bon app'", "Comércio Mineiro" };
response.addHeader("Access-Control-Allow-Origin", "*");
%>
<%
out.print("{ \"records\":[ ");
for(int i = 0; i < names.length; i++)
{
if(i == (names.length - 1))
out.print("{\"Name\":\"" + names[i] + "\"}");
else
out.print("{\"Name\":\"" + names[i] + "\"}, ");
}
out.print(" ] }");
%>
</div>
</body>
</html>
我的问题是我不知道如何将列放在引号&#39;%&#39; 中,以便部分索引看起来像这样
select DISTINCT ON(city,state)city,state,zip from zips where city ilike
'%' and state ilike '%' limit 10
将列放在单引号内的正确方法是什么?我一直在寻找这个地方。现在我的部分索引看起来像这样
select DISTINCT ON(city,state)city,state,zip from zips where city ilike
'{city}%' and state ilike '{state}%' limit 10
这显然没有帮助,因为postgres正在对待&#39; city%&#39;和州ilike&#39;州%&#39; 作为变量而不是列。我有一个搜索框,用户输入城市和州字段,所以我想优化。任何帮助将不胜感激......