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

文本中包含了一个引用。

我怎么逃脱呢?

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

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


当前回答

下面的语法将只转义一个引号:

SELECT ''''

结果将是一个单引号。对于创建动态SQL:)可能非常有帮助。

其他回答

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

如何:

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

如果用另一个单引号转义单引号对您不起作用(就像我最近的一个REPLACE()查询一样),您可以在查询之前使用SET QUOTED_IDENTIFIER OFF,然后在查询之后使用SET QUOTED_IDENTIFIER ON。

例如

SET QUOTED_IDENTIFIER OFF;

UPDATE TABLE SET NAME = REPLACE(NAME, "'S", "S");

SET QUOTED_IDENTIFIER ON;
-- set OFF then ON again

双引号选项帮助我

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

只要在要插入的任何东西之前插入一个'。它将像sqlServer中的转义字符

例子: 当你有场作为,我很好。 你可以: UPDATE my_table SET row ='I' m fine.';