SQL SERVER怎样转义单引号

时间:2021-12-23 00:41:55

默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第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;