使用带有 IN 子句的 node-postgres select 的正确方法
Correct way of using node-postgres select with IN clause
我正在尝试如何使用 node-postgres 在 in 子句查询中将逗号分隔的值字符串传递到 postgres select 但不幸的是似乎无法正常工作,也找不到任何示例。
我有以下代码:
function getUser() {
let inList = "'qwerty', 'qaz'";
const result = await pgPool.query("SELECT name FROM my_table WHERE info IN ()", [inList]);
if (result.rowCount == 1) return result.rows.map(row => row.name)
return false
}
基本上要处理的最终结果查询:
SELECT name FROM my_table WHERE info IN ('qwerty', 'qaz')
不确定这是否真的是使用 pgPool 执行此操作的正确方法?
正确的方法在 Github 上的常见问题解答 --> https://github.com/brianc/node-postgres/wiki/FAQ#11-how-do-i-build-a-where-foo-in--query-to-find-rows-matching-an-array-of-values
你应该可以这样做:
pgPool.query("SELECT name FROM my_table WHERE info = ANY ()", [jsArray], ...);
我正在尝试如何使用 node-postgres 在 in 子句查询中将逗号分隔的值字符串传递到 postgres select 但不幸的是似乎无法正常工作,也找不到任何示例。
我有以下代码:
function getUser() {
let inList = "'qwerty', 'qaz'";
const result = await pgPool.query("SELECT name FROM my_table WHERE info IN ()", [inList]);
if (result.rowCount == 1) return result.rows.map(row => row.name)
return false
}
基本上要处理的最终结果查询:
SELECT name FROM my_table WHERE info IN ('qwerty', 'qaz')
不确定这是否真的是使用 pgPool 执行此操作的正确方法?
正确的方法在 Github 上的常见问题解答 --> https://github.com/brianc/node-postgres/wiki/FAQ#11-how-do-i-build-a-where-foo-in--query-to-find-rows-matching-an-array-of-values
你应该可以这样做:
pgPool.query("SELECT name FROM my_table WHERE info = ANY ()", [jsArray], ...);