[更新:使用 SQL Server 2005]
您好,我想要做的是使用逗号分隔的值 (ids) 列表查询我的存储过程以检索数据行。
我收到的问题是转换错误:
Conversion failed when converting the varchar value ' +
@PassedInIDs + ' to data type int.
我的 where 子句和错误中的语句是:
...
AND (database.ID IN (' + @PassedInIDs + '))
注意:database.ID是int类型。
我正在关注这篇文章:
http://www.sql-server-helper.com/functions/comma-delimited-to-table.aspx
但由于错误而没有完成。
在我的执行脚本中,我有:
...
@PassedInIDs= '1,5'
我在这里做错了什么吗?
感谢您的帮助。
我强烈建议您使用该链接中的第二种方法。创建一个用户定义的函数,将逗号分隔的字符串转换为表格,然后您可以轻松地从中进行选择。
如果你用 Google 搜索 Erland 和“Dynamic SQL”,他对其中的陷阱有很好的描述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)