0

我正在使用CURRENT_TIMESTAMP - INTERVAL '24 hours'我的.js文件中的 PostgreSQL DB 获取最近 24 小时的记录。但是由于查询中的单引号,我无法正确编写它。

我正在从 PostgreSQL 数据库中获取记录,并使用 angular 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 小时记录。目前我收到错误

意外号码

4

2 回答 2

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]
}

您可以使用模板文字。它用于嵌入表达式,但也可以满足您的用例。

于 2019-03-27T13:42:44.967 回答
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

于 2019-03-27T13:22:48.063 回答