首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理-转义SQL-Update语句中的单引号和双引号

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

Stack Overflow用户
提问于 2012-01-20 01:03:09
回答 7查看 145.6K关注 0票数 35

我有这个示例T-SQL查询,并在SQL-Server-2008上尝试使用它。

代码语言:javascript
复制
DECLARE nvarchar(1000) @wstring = "I asked my son's teacher, "How is my son doing now?"" 

UPDATE tablename SET columnname = ' " & @wstring & " ' where ... blah ... blah

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

那么,如何处理-转义SQL-Update语句中的单引号和双引号呢?

EN

回答 7

Stack Overflow用户

发布于 2012-01-20 01:05:34

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

代码语言:javascript
复制
"I asked my son's teacher, \"How is my son doing now?\""
票数 30
EN

Stack Overflow用户

发布于 2012-01-20 01:07:57

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

代码语言:javascript
复制
SELECT 'How is my son''s school helping him learn?  "Not as good as Stack Overflow would!"'

打印:

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

票数 22
EN

Stack Overflow用户

发布于 2014-01-28 00:22:06

根据编程语言的不同,您可以使用函数将双引号替换为两个双引号。

例如,在PHP中,这将是:

代码语言:javascript
复制
str_replace('"', '""', $string);

如果您试图仅使用SQL来实现此目的,那么REPLACE()可能就是您所需要的。

因此,您的查询将如下所示:

代码语言:javascript
复制
"UPDATE Table SET columnname = '" & REPLACE(@wstring, '"', '""') & "' where ... blah ... blah "
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8930151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档