我对我的服务器上的问题很糟糕,当问题重新编译查询时,我们在这个服务器上报告,这是动态查询所必需的,研究解决这个问题的方法,我在这里得到了
<>之前创建表YEAR_YEAR (Y INT)
INSERT YEAR_YEAR (Y) VALUES (2011)
INSERT YEAR_YEAR (Y) VALUES (2012)
INSERT YEAR_YEAR (Y) VALUES (2013)
INSERT YEAR_YEAR (Y) VALUES (2014)
EXECUTE sys.sp_executesql
N'SELECT * FROM YEAR_YEAR
WHERE
CONVERT(NVARCHAR,Y) IN (@RAEY)
'
,
N'@RAEY NVARCHAR(100)',
@RAEY = N'2012,2013';
之前当您在变量中放置单个参数时工作,但是当我添加逗号时不返回任何东西,我已经做了数十次转换,从试用,替换…
回顾数据来自报告,其中许多不是我做的,所以我必须以艰难的方式对待,那就是varchar
谢谢你的帮助
经过大量的研究和一些试验和错误,我得到了一个非常满意的结果,现在我将监视我的服务器的结果。
EXECUTE sys.sp_executesql
N'SELECT * FROM YEAR_YEAR
WHERE
(CHARINDEX('','' + CONVERT(VARCHAR,Y) + '','', '','' + REPLACE(@RAEY, '' '', '''') + '','') > 0)
'
,
N'@RAEY NVARCHAR(100)',
@RAEY = N'2012,2013';
之前