詳解Ansi_Padding的用法


- 警告:現存列的 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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM