Sql 减少重新编译,sp_执行
我对我的服务器上的问题很糟糕,当查询的重新编译问题出现时,我们在这个服务器上报告,这是动态查询所必需的,研究我在这里得到的这个问题的解决方案 当您在变量中放置一个参数时,效果很好,但当我添加逗号时,不会返回任何结果,我已经从试用版进行了几十次转换,替换了 回顾这些数据来自报告,其中许多数据并没有公布所以我必须用强硬的方式对待瓦查尔Sql 减少重新编译,sp_执行,sql,sp-executesql,Sql,Sp Executesql,我对我的服务器上的问题很糟糕,当查询的重新编译问题出现时,我们在这个服务器上报告,这是动态查询所必需的,研究我在这里得到的这个问题的解决方案 当您在变量中放置一个参数时,效果很好,但当我添加逗号时,不会返回任何结果,我已经从试用版进行了几十次转换,替换了 回顾这些数据来自报告,其中许多数据并没有公布所以我必须用强硬的方式对待瓦查尔 感谢您的帮助。经过大量研究和尝试,我得到了一个非常令人满意的结果,现在我将监控服务器的结果 CREATE TABLE YEAR_YEAR (Y INT)
感谢您的帮助。经过大量研究和尝试,我得到了一个非常令人满意的结果,现在我将监控服务器的结果 CREATE TABLE 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';
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';