我正在尝试编写一个 node-postgres 查询,该查询采用一个整数作为参数在间隔中使用:
const query = {
text:
`SELECT
foo
FROM bar
WHERE
DATE(created_at) >= DATE(NOW()) - INTERVAL '$1 DAYS';`,
values: [daysAgo]
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它给出了这个错误消息,表明它没有看到,$1因为它用单引号括起来:
绑定消息提供 1 个参数,但准备好的语句 "" 需要 0
有没有支持的方法来做到这一点?如果没有,最好的解决方法是什么?
我找到了这个参考,它表明您可以使用'1 DAY' * X.
我能够这样工作:
(async () => {
const { rows } = await pgpool.query(`
SELECT id, name FROM users
WHERE DATE(created) <= DATE(NOW()) - INTERVAL '1 DAY' * $1;`,
[req.params.daysAgo]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |