如何将数组传递给mssql查询字符串?

时间:2017-01-10 11:32:06

标签: javascript sql-server express

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

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

但是当我使用IN运算符检查任何数组值的匹配时。我收到错误error: Incorrect syntax near '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}

1 个答案:

答案 0 :(得分:1)

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

Source