代码改变世界

SET QUOTED_IDENTIFIER (Transact-SQL)

2015-05-18 11:01  祥_venux  阅读(144)  评论(0编辑  收藏  举报

使 SQL Server 遵从关于引号分隔标识符和文字字符串的 ISO 规则。 由双引号分隔的标识符可以是 Transact-SQL 保留关键字,也可以包含 Transact-SQL 标识符语法约定通常不允许的字符。

当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。 当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。 有关详细信息,请参阅数据库标识符。 文字可以由单引号或双引号分隔。

当 SET QUOTED_IDENTIFIER 为 ON(默认值)时,由双引号分隔的所有字符串都被解释为对象标识符。 因此,加引号的标识符不必符合 Transact-SQL 标识符规则。 它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符。 不能使用双引号分隔文字字符串表达式,而必须用单引号括住文字字符串。 如果单引号 (') 是文字字符串的一部分,则可以由两个单引号 (") 表示。 当对数据库中的对象名使用保留关键字时,SET QUOTED_IDENTIFIER 必须为 ON。

当 SET QUOTED_IDENTIFIER 为 OFF 时,表达式中的文字字符串可以由单引号或双引号分隔。 如果文字字符串由双引号分隔,则可以在字符串中包含嵌入式单引号,如省略号。

 

https://msdn.microsoft.com/zh-cn/library/ms174393.aspx