【问题标题】:How do I write a SELECT .. WHERE IN clause using NodesJS and Postgresql?如何使用 NodeJS 和 Postgresql 编写 SELECT .. WHERE IN 子句?
【发布时间】:2020-10-28 01:47:57
【问题描述】:
const deptCodes = ['001', '002', '003']

const getMembersQuery = {
   text: 'SELECT member_id FROM member_tbl WHERE dept_code IN ($1) AND delete_flg = 0',
   values: [deptCodes],
   rowMode: 'array'
};
    
const getMembersQuery Result = await client.query(getMembersQuery );

我正在编写上述查询,但出现错误, 格式错误的数组文字:“001,002,003”\

【问题讨论】:

  • 文字需要单引号 001,002,003 应该是 '001','002','003' 即在 SQL 本身内部它需要那些单引号
  • 您能否建议我应该如何格式化 deptCodes 值?
  • 您需要将单引号嵌入到要由 SQL 评估的字符串中,以便一个变量 $1 可以解释为 3 个单独的字符串,每个字符串都有一个开始和结束单引号,值之间有逗号。为此,请查看如何转义单引号,例如stackoverflow.com/questions/15087497/…

标签: node.js postgresql lambda


【解决方案1】:

尝试将您的 depCode 包含在额外的引号中

const deptCodes = ["'001'", "'002'", "'003'"]

const deptCodes = ['\'001\'', '\'002\'', '\'003\'']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 2021-09-25
    • 2016-11-21
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2019-08-08
    相关资源
    最近更新 更多