默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符
例子:select * from tbl where uyear='''06'
上例中 uyear 的实际条件值为 '06,而不是 ''06(一共有四个单引号,第一个跟第四个是为了引住字符串,第二个是转义符,第三个是被转义的)
如表A有name字段,想修改该字段的某个值为【O'neal 】该如何修改?
DECLARE @A NVARCHAR(20);
SELECT @A='O''ONE'
PRINT @A
PS:可以先把ONEAL整个先引住,为'OONE',然后在ONE前添加转义符跟被转义的单引号,即结果为SELECT @A='O''ONE'
例三:如果我想得到下面的结果:
SET @columnNames='';
则可以这样写:
DECLARE @SQLCMD NVARCHAR(MAX)='';
SELECT @SQLCMD+='SET @columnNames='''';';
PRINT @SQLCMD;