SET ANSI_NULLS ON、SET NOCOUNT ON

原创 2013年12月02日 17:18:40

一、SET ANSI_NULLS ON|OFF

指定在与 Null 值一起使用等于 (=) 和不等于 (<>) 比较运算符时采用符合 ISO 标准的行为。

当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name =NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。

当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵守 ISO 标准。使用 WHERE column_name =NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <>NULL 的 SELECT 语句返回列中包含非空值的行。

 

例子:

 -- Create table t1 and insert values.
CREATE TABLE t1 (a INT NULL,b VARCHAR(40))
INSERT INTO t1 values (NULL,'HH')
INSERT INTO t1 values (0,'LL')
INSERT INTO t1 values (1,'OO')
GO

1、

-- Print message and perform SELECT statements.
PRINT 'Testing default setting';
DECLARE @varname int;
SELECT @varname = NULL;
SELECT * FROM t1 WHERE a = @varname;
SELECT * FROM t1 WHERE a <> @varname;
SELECT * FROM t1 WHERE a IS NULL;
GO

输出:

 

Testing default setting
a           b
----------- ----------------------------------------
NULL        HH

(1 row(s) affected)

a           b
----------- ----------------------------------------
0           LL
1           OO

(2 row(s) affected)

a           b
----------- ----------------------------------------
NULL        HH

(1 row(s) affected)

 

二、SET NOCOUNT ON|OFF

当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。

如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。

 

相关文章推荐

SET NOCOUNT { ON | OFF }实用讲解

使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息 语法:SET NOCOUNT { ON | OFF } 默认情况下为 OFF 当 SET NOCOUNT 为 O...

SET NOCOUNT ON 作用

 在存储过程中,经常用到SET NOCOUNT ON; 作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。 当SET ONCOUNT ON时候,不返回计数,当SET N...

T-SQL中的SET NOCOUNT ON

使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息  语法:SET NOCOUNT { ON | OFF }  默认情况下为 OFF 当 SET NOCOUNT 为 ON...

Sql 2008 Study for one ------INTERSECT AND EXCEPT Remark Set NOCount OFF/ON

最近由于用到sql 比较多,发现自己对sql server 居然一窍不通,所以做做笔记认真学习。例子是sqlserver2008高级编程的。 CREATE TABLE UnionTest1 ( ...

SET NOCOUNT ON | OFF

使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息 语法:SET NOCOUNT { ON | OFF } 默认情况下为 OFF 当 SET NOCOUNT 为 ON ...

SET NOCOUNT ON作用

在存储过程中,经常用到SET NOCOUNT ON; 作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。 当SET ONCOUNT ON时候,不返回计数,当SET NOC...
  • hjdlc99
  • hjdlc99
  • 2017年05月15日 10:02
  • 184

SET ANSI_NULLS ON和SET QUOTED_IDENTIFIER ON,SET ANSI_PADDING

SET QUOTED_IDENTIFIER ON GO 是什么意思?   语法 SET QUOTED_IDENTIFIER { ON | OFF } 注释 当 SET QUOTED_...

T-SQL之SET ANSI_NULLS

T-SQL之SET ANSI_NULLS      当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的...
  • lk2010
  • lk2010
  • 2011年04月18日 16:32
  • 516

转 T-SQL之SET ANSI_NULLS

转 http://www.cnblogs.com/xmaiC/archive/2009/04/15/1436813.html T-SQL之SET ANSI_NULLS       当 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SET ANSI_NULLS ON、SET NOCOUNT ON
举报原因:
原因补充:

(最多只允许输入30个字)