如何在SQL-Update语句中处理 - 转义单引号和双引号

Muk*_*Ran 22 sql-server-2008 sql-update

我有这个示例T-SQL查询并在SQL-Server-2008上尝试此操作.

DECLARE nvarchar(1000) @wstring = "I asked my son's teacher, "How is my son doing now?"" 

UPDATE tablename SET columnname = ' " & @wstring & " ' where ... blah ... blah
Run Code Online (Sandbox Code Playgroud)

我知道上面的查询会抛出错误.

那么我如何处理 - 在SQL-Update语句中转义单引号和双引号.

请不要建议在每个报价之前手动添加"斜杠"或单引号,以及bouble-quote.

这是不切实际的,因为上面的示例只是一个sAmple,实际应用程序值超过1000个字符,这将从其他系统源接收.

Rus*_*ser 22

您可以使用反斜杠转义引号:

"I asked my son's teacher, \"How is my son doing now?\""
Run Code Online (Sandbox Code Playgroud)

  • 我已经说过,在每个引号之前手动添加一个“斜杠\”或单引号,对于双引号都一样,这是不恰当的并且被排除在外,因为上面的示例只是一个示例,实际的应用程序值大于1000字符。 (3认同)

mcl*_*129 12

使用两个单引号在sql语句中转义它们.双引号应该不是问题:

SELECT 'How is my son''s school helping him learn?  "Not as good as Stack Overflow would!"'
Run Code Online (Sandbox Code Playgroud)

打印:

How is my son's school helping him learn? "Not as good as Stack Overflow would!"

  • 如果逃避角色是不切实际的,那么我想,逃脱它们将是非常困难的.或者,您可以尝试确定"替换值",并批量替换它们,以便您可以执行查询.当然,当您需要显示它们时,您还必须将它们重新替换为正确的值. (2认同)