我试图执行以下语句,以逃避单引号(即使用两个单引号):逃逸单引号在SQL Server
declare @year varchar(max)
set @year = '111,11';
exec ('SELECT * FROM SplitValues(' + @year + ','','')');
我甚至试过用char(39)
代替报价:
declare @year varchar(max)
set @year = '111,11';
exec ('SELECT * FROM SplitValues(' + @year + ',' + char(39) + ',' + char(39) + ')');
但它没有帮助。这是我在这个网站上找到的唯一两个解决方案。任何帮助?
这是简化的查询清理你所有的问题:
declare @year varchar(max)
set @year = '111,11';
SELECT * FROM SplitValues(@year , ',')
我要做到这一点,但使用动态查询。
为什么你需要在这里使用EXEC? – Bridge 2013-03-14 12:19:39
这是因为我现在工作的查询非常复杂,无法在此处发布。这只是我想要做的一瞥。 – Saksham 2013-03-14 12:24:23
可能的重复* [在SQL Server中替换单引号](http://stackoverflow.com/questions/1440733/replace-single-quotes-in-sql-server)*。 – 2016-01-25 14:50:13