SET ANSINULLS ON、SET NOCOUNT ON -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

   

    一、SET ANSI_NULLS ON|OFF

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

SET ANSINULLS ON、SET NOCOUNT ON

    当 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 中包含空值的行。使用 WHEREcolumn_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 ANSINULLS ON、SET NOCOUNT ON》(http://meiwen.anslib.com)。当 SET NOCOUNT 为 OFF 时,返回计数。

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

最新文章