Почему я неправильно сформировал буквальную ошибку с pg-promise, когда SELECT имеет условие WHERE для числового диапазона? - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь выбрать элемент из таблицы, где данное число вписывается в диапазон его стоимости.

Кажется, это работает, если я вручную установлю $/cost/ на 3.136, но как только я пытаюсь использовать именованный параметр, происходит сбой.Я использую другие переменные в полном запросе, и все они работают нормально, что наводит меня на мысль, что я что-то делаю неправильно, поскольку это относится к pg-обещание и numrange

db.one('SELECT id FROM cost_table WHERE range @> $/cost/', { cost })

Я получаю ошибку

Server running on port 5000
[0] { error: malformed range literal: "3.316"
[0]     at Connection.parseE (\node_modules\pg\lib\connection.js:602:11)
...
So on so forth
...
name: 'error',
[0]   length: 137,
[0]   severity: 'ERROR',
[0]   code: '22P02',
[0]   detail: 'Missing left parenthesis or bracket.',
[0]   hint: undefined,
[0]   position: '1896',
[0]   internalPosition: undefined,
[0]   internalQuery: undefined,
[0]   where: undefined,
[0]   schema: undefined,
[0]   table: undefined,
[0]   column: undefined,
[0]   dataType: undefined,
[0]   constraint: undefined,
[0]   file: 'rangetypes.c',
[0]   line: '2092',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...