我有喜欢的查询:使用SQL IN子句
declare @aID varchar(max)='1'
declare @pID varchar(max)=' '
SELECT * from Table1 WHERE
(PId = @PID or @pID='') AND (AID = @aID or @aID = '')
此查询工作正常。 但现在,我想使用'IN'子句。
declare @aID varchar(max)='1,2'
SELECT * from Table1 WHERE
(PId = @PID or @pID='') AND (AID IN (@aID) or @aID = '')
但是这最后一个查询给我一个错误。
Error : 'Conversion failed when converting the varchar value '1,2' to data type int'
我不想改变我的表1的设计
我怎样才能实现这一目标?
声明参数AS XML为您提供了将所需的任何结构化数据转换为SP或UDF的机会......处理(简单)XML很容易,SQL-Server确实很棒这里的工作... – Shnugo