关于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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值