如何使用日期时间INTERVAL

时间:2019-03-27 13:13:15

标签: node.js postgresql postgresql-11

我正在使用CURRENT_TIMESTAMP - INTERVAL '24 hours'文件中的.js从PostgreSQL数据库中获取最近24小时的记录。但是由于查询中出现了单个逗号,因此我无法正确编写它。

我正在从PostgreSQL数据库中获取记录,并使用角度6以条形图的形式显示它们。

这是我要从.js文件运行以获取最近24小时记录的查询:

query = {

    name: 'fetch-chart-data24',

    text: ' SELECT availablecar, recentTime, adrs FROM stations_logs WHERE adrs = $1 AND recentTiontime > CURRENT_TIMESTAMP - INTERVAL '24 hours' ORDER BY recentTime desc',

    values: [req.body.adrs,req.body.param]
}

查询的最终结果应该是数据库的最近24小时记录。 目前,我收到

错误
  

意外号码

2 个答案:

答案 0 :(得分:0)

您可以像这样escape加上反斜杠(\)单引号:

{
  ...
  text: ' SELECT availablecar, recentTime, adrs FROM stations_logs WHERE adrs = $1 AND recentTiontime > CURRENT_TIMESTAMP - INTERVAL \'24 hours\' ORDER BY recentTime desc',
  ...
}

进一步阅读:

https://www.digitalocean.com/community/tutorials/how-to-work-with-strings-in-javascript#conclusion

答案 1 :(得分:0)

query = {
    name: 'fetch-chart-data24',
    text: `SELECT availablecar, recentTime, adrs FROM stations_logs WHERE adrs = $1 AND recentTiontime > CURRENT_TIMESTAMP - INTERVAL '24 hours' ORDER BY recentTime desc`,
    values: [req.body.adrs,req.body.param]
}

您可以使用template literals。它用于嵌入表达式,但也可以满足您的用例。