当设置为 ON 时,不剪裁字符值中插入到 varchar 列的尾随空格和二进制值中插入到 varbinary 列的尾随零。不将值按列的长度进行填充。当设置为 OFF 时,剪裁 varchar 列的尾随空格和 varbinary 列的尾随零。该设置只影响新列的定义。
SET ANSI_PADDING 为 ON 时,将允许空值的 Char(n) 和 binary(n) 列填充到列长,而当 SET ANSI_PADDING 为 OFF 时,将剪裁尾随空格和零。始终将不允许空值的 Char(n) 和 binary(n) 列填充到列长。
重要 建议始终将 ANSI_PADDING 设置为 ON。在计算列或索引视图上创建或操作索引时,SET ANSI_PADDING 必须为 ON。
此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsAnsiPaddingEnabled 属性来确定。
如: alter database necinfo
set ANSI_NULLS ON,
CONCAT_NULL_YIELDS_NULL ON,
ANSI_WARNINGS on,
ARITHABORT on,
ANSI_PADDING on
select DATABASEPROPERTYEX( 'necinfo' , 'IsAnsiPaddingEnabled' ) as IsAnsiPaddingEnabled
select DATABASEPROPERTYEX( 'necinfo' , 'IsAnsiPaddingEnabled' ) as IsAnsiPaddingEnabled
select DATABASEPROPERTYEX( 'necinfo' , 'IsNullConcat' ) as IsNullConcat
select DATABASEPROPERTYEX( 'necinfo' , 'IsAnsiWarningsEnabled' ) as IsAnsiWarningsEnabled
select DATABASEPROPERTYEX( 'necinfo' , 'IsAnsiPaddingEnabled ' ) as IsAnsiPaddingEnabled