Как написать запрос nodeJS, чтобы получить последние 24-часовые записи базы данных postgreSQL, используя datetime INTERVAL - PullRequest
0 голосов
/ 27 марта 2019

Я получаю записи за последние 24 часа из БД PostgreSQL, используя CURRENT_TIMESTAMP - INTERVAL '24 hours' в моем .js файле.Но я не могу написать это правильно из-за одиночных кавычек в запросе.

Я извлекаю записи из базы данных 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 голосов
/ 27 марта 2019
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]
}

Вы можете использовать шаблонные литералы .Он для встраивания выражений, но также может удовлетворить ваш сценарий использования.

0 голосов
/ 27 марта 2019

Вы можете 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

...