我试图将一些文本数据插入到SQL Server 9中的表中。

文本中包含了一个引用。

我怎么逃脱呢?

我尝试使用两个单引号,但它给我带来了一些错误。

如。插入my_table值('hi, my name' s tim.');


当前回答

这应该是可行的:使用反斜杠和双引号

"UPDATE my_table SET row =\"hi, my name's tim.\";

其他回答

这应该可以

DECLARE @singleQuote CHAR 
SET @singleQuote =  CHAR(39)

insert into my_table values('hi, my name'+ @singleQuote +'s tim.')

如何:

insert into my_table values('hi, my name' + char(39) + 's tim.')

双引号选项帮助我

SET QUOTED_IDENTIFIER OFF;
insert into my_table values("hi, my name's tim.");
SET QUOTED_IDENTIFIER ON;

有两种方法可以解决这个问题:


对于',你可以简单地在字符串中加倍它,例如。 选择'I' m happy '——将得到:I'm happy


对于任何你不确定的字符:在sql server中,你可以通过选择unicode(':')来获得任何字符的unicode(你保留这个数字)

在这种情况下你还可以选择I +nchar(39)+ m happy

STRING_ESCAPE函数可以在新版本的SQL Server上使用