• 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
  • 相关阅读:
    无线渗透(六)WPS、伪造AP
    无线渗透(五)COWPATTY 破解密码
    无线渗透(四)WPA攻击
    无线渗透(一)密钥交换
    metsploit 渗透测试指南
    本地提权汇总
    电子取证-活取证2
    如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例
    如何在Centos官网下载所需版本的Centos——靠谱的Centos下载教程
    如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化展示
  • 原文地址:https://www.cnblogs.com/zerocc/p/2535045.html
Copyright © 2020-2023  润新知