zoukankan      html  css  js  c++  java
  • TSQL单双引号分隔符相关

    /*----------------------------------------
    SQL DATABASE: SQL SERVER 2008
    AUTHER:          CC
    DATE:          2012-06-04
    
    Description:
    双引号(") : 用于表示引用的标识符
    中括号([]): 用于表示括号中的标识符
    t-sql中常在下列情况下使用分隔符
    a. 对象名称或对象名称的组成部分中包含保留字时
    b. 使用其它特殊的字符时
    -------------------------------------------*/
    
    
    USE TEST
    GO
    
    IF OBJECT_ID('tempdb..#t') IS NOT NULL
        DROP TABLE #t
    GO
    
    CREATE TABLE #T
    (ID INT IDENTITY(1,1),
     TT NVARCHAR(10)
     )
    /*-------------------------------
    当 QUOTED_IDENTIFIER 为 ON  时,对于SQL语句中的双引号和单引号 (')的使用,SQL Server 遵循SQL-92:     
    双引号只能用于分隔标识符,不能用于分隔字符串。     
    为保持与现有应用程序的兼容性,SQL   Server   并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。
    但不建议这样做。   
    单引号必须用来包含字符串,不能用于分隔标识符。     
    如果字符串包含单引号,则需要在单引号前再增加一个单引号:  
    --------------------------*/
    SET QUOTED_IDENTIFIER ON
    
    INSERT INTO #T(TT) VALUES ('AA+AA')
    INSERT INTO #T(TT) VALUES ('AA''AA')
    /*
    ID    TT
    1    AA+AA
    2    AA'AA
    */
    INSERT INTO #T(TT) VALUES  ("AA+AA")
    --消息 207,级别 16,状态 1,第 4 行
    --列名 'AA+AA' 无效。
    
    select * from #T
    
    /*---------------------------------------------
      当 QUOTED_IDENTIFIER 为 OFF 时,对于双引号和单引号的使用,SQL   Server遵循如下规则:        
      引号不能用于分隔标识符,而是用括号作为分隔符。          
      单引号或双引号可用于包含字符串。     
      如果使用双引号,嵌入的单引号不需要用两个单引号来表示:   
    ----------------------------------------------*/
    SET QUOTED_IDENTIFIER OFF
    
    INSERT INTO #T(TT) VALUES ("AA1+AA1");
    INSERT INTO #T(TT) VALUES ("AA1'AA1");
    INSERT INTO #T(TT) VALUES ('AA2+AA2');
    
    select * from #T

    注一个相关知识:http://www.cnblogs.com/ndxsdhy/archive/2010/12/02/1894545.html
  • 相关阅读:
    遍历数据类型数组方式
    for 循环 和for..in循环遍历数组 的区别
    多个区域内有相同属性名称子元素,同一区域内 操作DOM子集 使用$("选择器",context)方法
    CSS 使用技巧
    JavaScript 动态加载页面 js文件
    angular2环境配置
    在路上●我的年青●逐步前进
    ARM v8-A 系列CPU的MMU隐射分析
    ARM Cortex-A53 Cache与内存的映射关系以及Cache的一致性分析
    二维图像的投影和图像重建分析之傅里叶变换法
  • 原文地址:https://www.cnblogs.com/zerocc/p/2535045.html
Copyright © 2011-2022 走看看