详解AnsiPadding的用法 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    详解Ansi_Padding的用法

    - 警告:现存列的 ANSI_PADDING 设置为 'off',

详解AnsiPadding的用法

。新的列将以 ANSI_PADDING 为 'on' 的设置被创建。

    当设置为OFF时,剪裁varchar列的尾随空格和varbinary列的尾随零。该设置只影响新列的定义。

    关于Ansi_Padding的用法

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

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

    示例代码:

    SETANSI_PADDINGON

    GO

    PRINT'TestingwithANSI_PADDINGON'

    GO

    CREATETABLEt1

    (charcolchar(16)NULL,

    varcharcolvarchar(16)NULL,

    varbinarycolvarbinary(8))

    GO

    INSERTINTOt1VALUES('Noblanks','Noblanks',0x00ee)

    INSERTINTOt1VALUES('Trailingblank','Trailingblank',0x00ee00)

    SELECT'CHAR'='>'+charcol+'<','VARCHAR'='>'+varcharcol+'<',

    varbinarycol

    FROMt1

    GO

    SETANSI_PADDINGOFF

    GO

    PRINT'TestingwithANSI_PADDINGOFF'

    GO

    CREATETABLEt2

    (charcolchar(16)NULL,

    varcharcolvarchar(16)NULL,

    varbinarycolvarbinary(8))

    GO

    INSERTINTOt2VALUES('Noblanks','Noblanks',0x00ee)

    INSERTINTOt2VALUES('Trailingblank','Trailingblank',0x00ee00)

    SELECT'CHAR'='>'+charcol+'<','VARCHAR'='>'+varcharcol+'<',

    varbinarycol

    FROMt2

    GO

    DROPTABLEt1

    DROPTABLEt2

    GO

最新文章