SET QUOTED_IDENTIFIER ON 到底起什么作用

作者:vkvi 来源:ITPOW(原创) 日期:2020-10-27

在 SQL Server 导出表的 SQL 语句时,会加上一句 SET QUOTED_IDENTIFIER ON

这句我们在实际使用过程中,似乎保留与否、删除与否,都没有什么影响,那 SET QUOTED_IDENTIFIER ON 到底起什么作用呢?

结论:SET QUOTED_IDENTIFIER ON 表示使用单引号来引字符串。默认是 ONOFF 表示单引号、双引号都可以。

SET QUOTED_IDENTIFIER OFF
declare @s1 nvarchar(10) = "itpow"
print @s1

SET QUOTED_IDENTIFIER ON
declare @s2 nvarchar(10) = "itpow"
print @s2

@s1 没问题,@s2 出错,引号那里。

设置值影响当前会话,我们可以测试:

  • 查询窗口 A 中无论怎么改变 SET QUOTED_IDENTIFIER,都不影响查询窗口 B。

  • 查询窗口 A 中改变 SET QUOTED_IDENTIFIER 为非默认值,将其删除,再执行查询窗口 A 中其他代码,其设置仍然有效。

相关文章