2017-01-10 80 views
0

我正在使用mssql node包在SQL Server数据库上执行查询。 现在我想传入一个整数数组到查询字符串。于是,我抓住从req.query.rids数组和值输出如下:如何将数组传递给mssql查询字符串?

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} 
+0

'WHERE ... IN(值1,值2,值3,值3,...)' - [妈妈的漏洞(http://bobby-tables.com/) – Andreas

回答

1

您需要字符串化和风格格式化阵列(项目,项目项) 。

Source

+0

RIDS = '('+ RIDS +')'按照解释的方式工作。 –

相关问题