此问题在此处已有答案:
IN vs ANY operator in PostgreSQL(3个答案)
2天前关闭。
我试图向postgis/postgresql服务器查询,它会得到这样的项目:
SELECT *
FROM "ContextBuilding"
WHERE "id" = ANY('UM3cxUnOtOmMsD79zcRWb','ulDME73WOGaChCbLH63iY','UoX9NoJIzANpXBvrjXQVx'::text[]) AND
coords &&
ST_MakeEnvelope(13.445188084976532, 52.52807719874824, 13.44677407320652, 52.529087036036735, 4326)
字符串
问题是WHERE "id" ...
线。
如何检查字符串数组?
最后,我想从一个类型脚本代码生成这个查询,如下所示:
const query = `
SELECT *
FROM ContextBuilding
WHERE "id" = ANY(${tenantBuildingIDs}::text[]) AND
coords &&
ST_MakeEnvelope(${bounds[0]}, ${bounds[1]}, ${bounds[2]}, ${bounds[3]}, 4326)
`
型
但这失败的原因是相同的。
一个示例输出来自:
SELECT volume, id, uid, coords FROM "ContextBuilding"
型
看起来像这样:
x1c 0d1x的数据
1条答案
按热度按时间htrmnn0y1#
或者
IN
带有列表:字符串
或者
= ANY ()
与数组:型
也会接受子查询中的set。请参阅: