javascript - 如何将数组传递到mssql查询字符串中?

标签 javascript sql-server express

我正在使用mssql node用于在 SQL Server DB 上执行查询的包。 现在我想将整数数组传递给查询字符串。所以我从 req.query.rids 中获取数组,输出值如下:

var RIDS = JSON.parse(req.query.rids);
logger.info(`${RIDS}`)  // result shows: 204294,204303,104354

但是当我使用 IN 运算符检查是否与任何数组值匹配时。我收到错误错误:“204294”附近的语法不正确。我从中了解到的是,传入的 RID 数组的查询格式不正确。

问题:

如何将数组传递到 mssql 查询字符串中? `

这是一个查询片段,我在其中检查 RIDS 数组中的匹配项:

Left Join [Metrics_DB].[dbo].[AssetBundle]
  on [Metrics_DB].[dbo].[Assetdata].RID=[Metrics_DB].[dbo].[AssetBundle].[RID]
   where [Asset Sunset Date] is not null and [OSM_Metrics_DB].[dbo].[Assetdata].RID IN ${RIDS}

最佳答案

您需要以(item、item、item)的样式对数组进行字符串化和格式化。

Source

关于javascript - 如何将数组传递到mssql查询字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41567799/

相关文章:

javascript - React.js - 传递函数 "not a function"错误

javascript - AngularJS:在将 resolve 与 Controller 一起使用时更正 minify-able 语法

JavaScript:为什么负数返回正数?

SQL-临时表 : Storing all columns in temp table versus only Primary key

sql-server - 在 SQL Server 2005 中,len() 和 datalength() 有什么区别?

node.js - Express.js : res. render() 包装在 promise 链中时不发送数据

javascript - get 请求响应中的请求 promise 被重复?

javascript - 哪个图像有类,更改 src JQUERY

SQL - 如何选择特定列中具有最大值的数据行?

javascript - 我正在尝试运行本书中的 Express 静态中间件,但我看不到示例试图展示的内容