SQL点滴之SET QUOTED_IDENTIFIER OFF语句的作用
创始人
2024-07-26 08:41:56
0

编者注:SET QUOTED_IDENTIFIER

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

先看下面几个sql语句

  1. SET QUOTED_IDENTIFIER ON 
  2. SELECT * FROM "USER"    WHERE a='netasp'   
  3.    
  4. SET QUOTED_IDENTIFIER ON 
  5. SELECT * FROM [USER] WHERE a='netasp'   
  6.  
  7. SET QUOTED_IDENTIFIER OFF 
  8. SELECT * FROM [USER]    WHERE a="netasp"   
  9.  
  10. SET QUOTED_IDENTIFIER OFF 
  11. SELECT * FROM [USER]    WHERE a= 'netasp' 

当在数据库中新建一个名字是USER的表的时候,常常会带来一些麻烦,因为USER是SQL中的关键字,但是上面的几个语句不会报错。再说一个概念:标示符是SQL中的中括号[]。

当SET QUOTED_IDENTIFIER值为ON时,双引号内的字符被当作是数据库对象。就是说双引号" "和标识符[]效果是一样样的,他们都表示引用的字符是数据库对象。单引号'表示字符串的边界。

当SET QUOTDE_IDENTIFIER OFF时,双引号被解释为字符串的边界,和单引号的作用是类似的。就是说双引号"不能当做标识符使用,但是可以当做字符边界,和单引号'的效果是一样样的。

可以做一个总结:当SET QUOTED_IDENTIFIER ON " "等同于[ ] 表示数据库对象;当SET QUOTED_IDENTIFIER OFF " "等同于' '表示字符串边界;还有这里的双引号" 并不是两个单引号'合起来的,是shift+”打出来的,初学者可能会犯这样的错误。
 

原文链接:http://www.cnblogs.com/tylerdonet/archive/2010/08/01/1789979.html

【编辑推荐】

  1. SSIS中的容器和数据流—数据转换
  2. MySQL数据库的优化(上)单机MySQL数据库的优化
  3. MySQL数据库的优化(下)MySQL数据库的高可用架构方案
  4. SSAS中不同维度不同聚合的解决
  5. 给数据减肥 让MySQL数据库跑的更快

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...