我正在尝试锻炼如何将逗号分隔的值字符串传递到中的中的postgres选择中子句查询使用node-postgres,但不幸的是,似乎不能得到它的工作,不能找到任何例子。
我有以下代码:
function getUser() {
let inList = "'qwerty', 'qaz'";
const result = await pgPool.query("SELECT name FROM my_table WHERE info IN ($1)", [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 ($1)", [jsArray], ...);