在 node-postgres 中使用字符串文字进行参数化查询

Parameterized query with string literal in node-postgres

我正在尝试编写一个 node-postgres 查询,它采用一个整数作为参数在间隔中使用:

  const query = {
    text:
      `SELECT
        foo 
        FROM bar 
        WHERE 
          DATE(created_at) >= DATE(NOW()) - INTERVAL ' DAYS';`,
    values: [daysAgo]
  }

当我 运行 这个时,它给出了这个错误消息,表明它没有看到 因为它被单引号括起来了:

bind message supplies 1 parameters, but prepared statement "" requires 0

有支持的方法吗?如果不是,最好的解决方法是什么?

我发现 this reference 这表明您可以使用 '1 DAY' * X 的约定。

我是这样工作的:

   (async () => {
       const { rows } = await pgpool.query(`
          SELECT id, name FROM users 
           WHERE DATE(created) <= DATE(NOW()) - INTERVAL '1 DAY' * ;`,
           [req.params.daysAgo]);