You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

node-mssql拼接动态SQL查询报错问题求助

MSSQL动态拼接查询条件报错求助

我需要生成条件长度不同的MSSQL查询,示例如下:

  • 示例1:
SELECT itemKey FROM items WHERE vendor in ('WALM', 'TARG', 'COSC')
  • 示例2:
SELECT itemKey FROM items WHERE vendor in ('HOMD') AND originCountry in ('USA', 'CHN')
  • 示例3:
SELECT itemKey FROM items WHERE vendor in ('WALM','TARG','COSC','LOWE','HOMD') and originCountry in ('USA','CHN','TAI','VIE')

我通过以下JavaScript代码动态构建查询条件filter:

filter += ' AND vendor in ('
while(i < vendors.length) {
  if(i == (vendors.length - 1)) {
    filter += '\'' + vendors[i] + '\')'
  } else {
    filter += '\'' + vendors[i] + '\',' 
  }
  i++
}

之后执行查询语句:

const result = await sql.query(`SELECT itemKeys FROM items WHERE ${filter}`)

但上述动态拼接的查询执行时会报错,错误堆栈显示SQL语法相关异常。

而硬编码的同类查询却能正常运行:

const result = await sql.query(`SELECT itemKeys FROM items WHERE vendor in ('TARG')`)

我已通过硬编码查询验证代码其他部分无问题,现求助解决动态拼接查询报错的问题。


内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 13:15:04