zoukankan      html  css  js  c++  java
  • 存储过程中的设置语句含义

    这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则。

    1. SET ANSI_NULLS ON

    Transact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE。

    通过设置 ANSI_NULLS OFF 可将此选项激活。
    当 ANSI_NULLS 为 OFF 时,
    如果 ColumnA 包含 Null 值,则 ColumnA = NULL 之类的比较操作会返回 TRUE;
    如果 ColumnA 除了包含 NULL 外还包含某些值,则这类比较操作将返回 FALSE。
    比较计算结果为 NULL 的两个表达式也会返回 TRUE。

    ANSI_NULLS 设置不影响包含 NULL 的联接列。联接列中包含 NULL 的行不是结果集的一部分。

    当 ANSI_NULLS 设置为 OFF 时,以下 SELECT 语句返回 Customer 表中 Region 为 Null 值的所有行:

    SELECT CustomerID, AccountNumber, TerritoryID
    FROM AdventureWorks.Sales.Customer
    WHERE TerritoryID = NULL

    如果 SET ANSI_NULLS ON
    那么 SQL 语句中, 判断 非空的写法, 要修改为:
    WHERE 字段  IS   NULL

    因为 SET ANSI_NULLS ON 以后,
    NULL = NULL 将 返回 false.

    2. SET QUOTED_IDENTIFIER ON

    当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。

    3. SET ANSI_PADDING ON

    https://msdn.microsoft.com/zh-cn/library/ms187403(SQL.90).aspx

    在未来的 SQL Server 版本中,ANSI_PADDING 将始终为 ON,且将此选项显式设置为 OFF 的任何应用程序都将产生错误。 请避免在新的开发工作中使用此功能,并着手修改当前使用此功能的应用程序。

    下表显示在将值插入含有 charvarcharbinaryvarbinary 数据类型的列时,SET ANSI_PADDING 设置的效果。

     

    设置            char(n) NOT NULL 或 binary(n) NOT NULL            char(n) NULL 或 binary(n) NULL            varchar(n) 或 varbinary(n)            

    ON

    填充原始值(char 列具有尾随空格的值,binary 列具有尾随零的值),使达到列的长度。

    如果 SET ANSI_PADDING 为 ON,则遵从与 char(n)binary(n) NOT NULL 相同的规则。

    不剪裁插入 varchar 列中的字符值的尾随空格。 不剪裁插入 varbinary 列中的二进制值的尾随零。 不将值填充到列的长度。

    OFF

    填充原始值(char 列具有尾随空格的值,binary 列具有尾随零的值),使达到列的长度。

    如果 SET ANSI_PADDING 为 OFF,则遵从与 varcharvarbinary 相同的规则。

    剪裁插入 varchar 列中的字符值的尾随空格。 剪裁插入 varbinary 列中的二进制值的尾随零。

    ms187403.note(zh-cn,SQL.90).gif注意:
            进行填充时,char 列用空格填充,binary 列用零填充。 进行剪裁时,char 列的尾随空格被剪裁,binary 列的尾随零被剪裁。
  • 相关阅读:
    poj2452
    bnuoj16491
    1326: The contest(并查集+分组背包)
    BNUOJ-1065或运算的简单解法
    递推、规律思维题总结
    uva10160(dfs+状态压缩)
    第七章 人工智能,7.1 基于深度强化学习与自适应在线学习的搜索和推荐算法研究(作者:灵培、霹雳、哲予)
    第六章 大数据,6.3 突破传统,4k大屏的沉浸式体验(作者: 彦川、小丛)
    第六章 大数据,6.2 双11背后的大规模数据处理(作者:惠岸 朋春 谦乐)
    第六章 大数据,6.1 双11数据大屏背后的实时计算处理(作者:藏六 黄晓锋 同杰)
  • 原文地址:https://www.cnblogs.com/msgarden/p/4815801.html
Copyright © 2011-2022 走看看