zoukankan      html  css  js  c++  java
  • SQL SERVER中QUOTED_IDENTIFIER选型的使用

    虽然经常看到SET QUOTED_IDENTIFIER ON/OFF 这样的语句,但是不会太注意到底会有什么作用,或者说在什么情况下使用。看了联机帮助文档上得介绍,挺晕的,我打算自己通过实验,来总结一下这个选项的用法。

    一般我们在创建一个表时,不管是QUOTED_IDENTIFIER ON还是OFF ,就是这么写得:

    CREATE TABLE T(FIRST INT,SECOND INT)

    但是在SET QUOTED_IDENTIFIER_ON 之后,你可以通过双引号把表名括起来,这么写:

    CREATE TABLE "T"(FIRST INT,SECOND INT)

    第一部分:SET QUOTED_IDENTIFIER ON

    特别情况是在我们的表名是SQL SERVER 的保留字时,比如表名是:FROM关键字的时候,是不能写成这样的:

    CREATE TABLE FROM(FIRST INT,SECOND INT)

    运行结果:

     
    必须得写成这样:
    CREATE TABLE FROM(FIRST INT,SECOND INT)
    运行结果:
    注意:这里只能用双引号来括,不能用单引号。
     
     
    这样看来确实有点作用。那么,这个单引号有什么作用呢?他得作用就是括住字符串,而双引号则不能括住字符串,看下面的例子:
     
     
    应该是这么用:
     
    如果说现在要输出的字符串里面有双引号怎么办呢?没关系,可以直接输出:
     
    如果在要输出的字符串里面有单引号怎么办呢?只要写两个单引号就行了:
     
     
    第二部分:SET QUOTED_IDENTIFIER OFF
    这个时候,单引号和双引号都可以来括住字符串,同时也能括住对方,也就是单引号可以括住双引号,双引号也可以括住单引号:
     
     
    最后总结一下:
    1.在ON的情况下,双引号用来括住关键字和单引号(上面没有给出例子),单引号括住字符串和双引号。
    2.在OFF的情况下,双引号和单引号都是用来括住字符串的,以及对方。
    3.不管是在那种情况下,当双引号或者单引号要括住自己,比如输出 from"you     写成    "from""you"   
                                     from'you  写成 'from''you'.
  • 相关阅读:
    eclipse常用的快捷键
    如何保留小数点后N位?
    EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常(转)
    STL优先队列 hdu1896
    工作排序问题 poj2376
    STL存储邻接表
    二叉树的遍历
    快速排序
    并查集 并查集来判断是否存在环路
  • 原文地址:https://www.cnblogs.com/yugu/p/2123796.html
Copyright © 2011-2022 走看看