zoukankan      html  css  js  c++  java
  • SQL2005 SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 的作用

    SQL2005 SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 的做用

    折叠SQL CodeUSE [along_test]   GO/****** 对象:  Table [dbo].[User]    

    SET ANSI_NULLS ON  

    GO  

     SET QUOTED_IDENTIFIER ON  GO

    SET ANSI_PADDING ON  GO   

    CREATE TABLE [dbo].[User](.....)    ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]   GO   SET ANSI_PADDING OFF  

    为此百度搜了记录一下

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

     (1)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 ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为 XYZ_value 也不为 NULL 的行。

      (2)SET QUOTED_IDENTIFIER:

          当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。

          当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。 
      (3)SET ANSI_PADDING ON:

          当设置为 ON 时,不剪裁字符值中插入到 varchar 列的尾随空格和二进制值中插入到 varbinary 列的尾随零。不将值按列的长度进行填充。当设置为 OFF 时,剪裁 varchar 列的尾随空格和 varbinary 列的尾随零。该设置只影响新列的定义。 
          当SET ANSI_PADDING 为 ON 时,将允许空值的 Char(n) 和 binary(n) 列填充到列长,而当 SET ANSI_PADDING 为 OFF 时,将剪裁尾随空格和零。始终将不允许空值的 Char(n) 和 binary(n) 列填充到列长。

  • 相关阅读:
    MVC ORM 架构
    Kubernetes 第八章 Pod 控制器
    Kubernetes 第七章 Configure Liveness and Readiness Probes
    Kubernetes 第六章 pod 资源对象
    Kubernetes 第五章 YAML
    Kubernetes 核心组件
    Kubernetes 架构原理
    Kubernetes 第四章 kubectl
    Kubernetes 第三章 kubeadm
    yum 配置及yum 源配置
  • 原文地址:https://www.cnblogs.com/tangqs/p/2184387.html
Copyright © 2011-2022 走看看