• 关于SET ANSI_PADDING的用法


    关于SET ANSI_PADDING的用法

    当设置为 ON 时,不剪裁字符值中插入到 varchar 列的尾随空格和二进制值中插入到 varbinary 列的尾随零。不将值按列的长度进行填充。当设置为 OFF 时,剪裁 varchar 列的尾随空格和 varbinary 列的尾随零。该设置只影响新列的定义。 

    SET ANSI_PADDING 为 ON 时,将允许空值的 Char(n) 和 binary(n) 列填充到列长,而当 SET ANSI_PADDING 为 OFF 时,将剪裁尾随空格和零。始终将不允许空值的 Char(n) 和 binary(n) 列填充到列长。 

    SET ANSI_PADDING ON
    GO
    PRINT 'Testing with ANSI_PADDING ON'
    GO

    CREATE TABLE t1 
    (charcol char(16) NULL, 
    varcharcol varchar(16) NULL, 
    varbinarycol varbinary(8))
    GO
    INSERT INTO t1 VALUES ('No blanks', 'No blanks   ', 0x00ee)
    INSERT INTO t1 VALUES ('Trailing blank', 'Trailing blank   ', 0x00ee00)

    SELECT 'CHAR'='>' + charcol + '<', 'VARCHAR'='>' + varcharcol + '<',
       varbinarycol
    FROM t1
    GO

    SET ANSI_PADDING OFF
    GO
    PRINT 'Testing with ANSI_PADDING OFF'
    GO

    CREATE TABLE t2 
    (charcol char(16) NULL, 
    varcharcol varchar(16) NULL, 
    varbinarycol varbinary(8))
    GO
    INSERT INTO t2 VALUES ('No blanks', 'No blanks', 0x00ee)
    INSERT INTO t2 VALUES ('Trailing blank', 'Trailing blank', 0x00ee00)

    SELECT 'CHAR'='>' + charcol + '<', 'VARCHAR'='>' + varcharcol + '<',
       varbinarycol
    FROM t2
    GO

    DROP TABLE t1
    DROP TABLE t2
    GO
     

    分类: SqlServer

  • 相关阅读:
    你不知道的javaScript笔记(7)
    你不知道的javaScript笔记(6)
    你不知道的javaScript笔记(5)
    你不知道的javaScript笔记(4)
    你不知道的javaScript笔记(3)
    你不知道的javaScript笔记(2)
    java 单链表反转
    Java找出两个链表的第一个公共节点
    Java产生死锁的一个简单例子
    Java 中Enum的使用与分析
  • 原文地址:https://www.cnblogs.com/grj001/p/12223754.html
Copyright © 2020-2023  润新知