你對Ansi_Padding的用法是否了解,這裡和大家分享一下,當設置為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
【編輯推薦】