小编典典

在varchar变量SQL Server 2008中存储单引号

sql

我想知道是否有一种方法可以在SQL Server2008中存储单引号。我正在构建多个报告,并且所有这些报告都完全相同,只是它们只是在我选择的代码上有所不同。例如,一个报告使用代码“ 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’语句中使用,这就是单引号出现的原因)。


阅读 212

收藏
2021-03-23

共1个答案

小编典典

像这样。是的,Oded是正确的。正确的术语是“转义”。您可以将单引号'加倍来转义''

DECLARE @codes1 varchar(50), @codes2 varchar(50)
SET @codes1 = '''abc'', ''def'', ''ghi'''
SET @codes2 = '''jkl'', ''mno'', ''pqr'''
2021-03-23