mssql sqlserver sql脚本中 SET ANSI_NULLS 、QUOTED_IDENTIFIER 、ANSI_PADDING 功能说明


摘要:
下文将讲述 SET ANSI_NULLS 、QUOTED_IDENTIFIER 、ANSI_PADDING 三个关键字的功能,如下所示:



SET ANSI_NULLS 说明

SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。
当 SET ANSI_NULLS 属性设置未 ON 时
如果 column_name 中包含空值, 使用 WHERE column_name = NULL 的 SELECT 语句会返回零行
如果 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句也会返回零行

SET QUOTED_IDENTIFIER 说明

当 SET QUOTED_IDENTIFIER 属性设置为 ON 时,标识符可以使用双引号进行分隔,但是文字必须由单引号分隔
当 SET QUOTED_IDENTIFIER 属性设置为 OFF 时标识符不可加引号

SET ANSI_PADDING 说明

当SET ANSI_PADDING属性设置为ON时,将允许空值的Char(n)和binary(n)列填充到列长
当SET ANSI_PADDING属性设置为OFF时,将剔除数据中的空格及零, 避免使用空值放入Char(n)和binary(n) 列中