postgresql - 当 SELECT 在 numrange 上具有 WHERE 条件时,为什么我的 pg-promise 出现格式错误的文字错误?
问题描述
我正在尝试从给定数字适合其成本范围的表中选择一个项目。
如果我手动设置$/cost/
为 a似乎可以工作,3.136
但是一旦我尝试使用命名参数,它就会失败。我在完整查询中使用了其他变量,它们都工作正常,这让我相信我做错了事,因为它与pg-promise和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',
解决方案
推荐阅读
- sql-server - 如何将 JSON 与表连接起来?
- reactjs - 禁用在详细信息列表中单击行的检查
- scala - 如何在scala中重构相似和重复的功能
- bazel - 从系统包含目录中隔离 Bazel C++ 构建
- c - IOCTL - 了解文件描述符参数
- c++ - C ++访问联合结构中的变量
- c# - 在 C# 中混合 MockVerify 和 FluentAssertions.Should()
- python - Python 的日志记录模块可以受行数而不是字节大小的限制吗?
- excel - vba循环中从右到左的颜色单元格
- javascript - 在 node.js 中获取 jquery 发布数据