- 警告:現存列的 ANSI_PADDING 設置為 'off'。新的列將以 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