SQL Server 中的单引号和双引号
Posted
技术标签:
【中文标题】SQL Server 中的单引号和双引号【英文标题】:Single and double quotes in SQL Server 【发布时间】:2015-12-08 04:55:26 【问题描述】:我想知道使用引号引起此错误的确切原因。
INSERT INTO table_check(name) VALUES('hello'hi') -- ERROR
INSERT INTO table_check(name) VALUES('hello''hi') -- RESULT:- hello'hi
INSERT INTO table_check(name) VALUES('hello'''hi') --ERROR
INSERT INTO table_check(name) VALUES('hello''''hi') --RESULT:- hello''hi
INSERT INTO table_check(name) VALUES('hello'''''hi') --ERROR
INSERT INTO table_check(name) VALUES('hello''''''hi') --RESULT:- hello'''hi
【问题讨论】:
简单的答案是单引号的数量应该是偶数,否则会有未闭合的引号 【参考方案1】:单引号通过加倍来转义。因此,只要存在偶数个引号,我们就会得到结果。
要了解单引号的行为,请尝试在下面的代码中运行:
Select '','''','''''','''''''',''''''''''
所以,单引号应该是偶数否则我们会得到类似的错误:未闭合的引号在字符串'之后标记)--错误
【讨论】:
以上是关于SQL Server 中的单引号和双引号的主要内容,如果未能解决你的问题,请参考以下文章