副本
动态 SQL 逗号分隔值查询
使用 Like 和 In 的参数化查询
我有一个 SQLServer 存储过程,其中我想传递一个 varchar
充满逗号分隔的值到一个 IN
函数。例如:
DECLARE @Ids varchar(50);
SET @Ids = '1,2,3,5,4,6,7,98,234';
SELECT *
FROM sometable
WHERE tableid IN (@Ids);
这当然行不通,我得到了一个错误:
当将 varchar 值‘1,2,3,5,4,6,7,98,234’转换为数据类型 int 时,转换失败。
如何在不构建动态 SQL 的情况下完成这一任务(或者类似的任务) ?