我想知道是否有办法在sql Server 2008中存储单引号.我正在构建几个报告,所有这些报告是完全相同的,只不过我们选择的代码只不同.例如,一个报告使用代码“abc”,“def”,“ghi”,另一个报告使用代码“jkl”,“mno”,“pqr”.我正在考虑减少存储过程的数量,我可以在报表上做一个参数来选择要运行的报告类型.基于此,我会使用正确的代码.所以我将把这些代码存储在一个varchar变量中.以下是我希望的功能:
DECLARE @codes1 varchar,@codes2 varchar SET @codes1 = ''abc','def','ghi'' SET @codes2 = ''jkl','mno','pqr''
然后,我将根据用户选择的参数使用正确的varchar变量.唯一的问题是设置变量,因为该字符串将在其中包含单引号(该字符串将用于sql’IN’语句,这是单引号存在的原因).
解决方法
喜欢这个.是Oded是正确的.适当的术语是“逃脱”.你可以逃避一个单引号“加倍”
DECLARE @codes1 varchar(50),@codes2 varchar(50) SET @codes1 = '''abc'',''def'',''ghi''' SET @codes2 = '''jkl'',''mno'',''pqr'''