快速业务通道

SQL点滴1—SET QUOTED_IDENTIFIER OFF语句的作用

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-21

先看下面几个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.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号