TSQL--SET ANSI_NULLS OFF
当ANSI_NULLS 为ON时,遵循SQL92的标准,只能使用IS NULL 来判断值是否为NULL, 而不能使用=或<>来与NULL做比较,任何值包括NULL值与NULL值做=或<>运算都得到FALSE
当ANSI_NULLS为OFF时,将不再遵循SQL92标准,可以使用=和<>来与NULL做BOOL运算
测试代码
SET ANSI_NULLS ON
;WITH T1 AS
(
SELECT 1 AS ID
UNION ALL
SELECT NULL
UNION ALL
SELECT 2
)
SELECT * FROM T1
WHERE ID =NULL
GO
SET ANSI_NULLS OFF
;WITH T1 AS
(
SELECT 1 AS ID
UNION ALL
SELECT NULL
UNION ALL
SELECT 2
)
SELECT * FROM T1
WHERE ID =NULL
测试结果:
第二次查询能获取NULL的一行
关于NULL的延伸:
1. 对应聚合函数COUNT,只有SELECT COUNT(*)和SELECT COUNT(1) 会将为NULL的行计算在内,SELECT COUNT(ID)会忽略ID列为NULL的行
2. 对应除COUNT外的其他聚合函数,计算时不考虑为NULL的行
3. 对应CHECK CONSTRAINT,如果列允许为NULL的条件下,为NULL的行将不受CHEKC CONSTRAINT的限制,例如有CHECK CONSTRAINT条件为C1>10,对C1列插入NULL值或更新为NULL不会违反CHECK CONSTRAINT.
4. 在GROUP BY 的时候,会将所有NULL归为一组
TSQL--SET ANSI_NULLS OFF的更多相关文章
- SET ANSI_NULLS ON 在T-SQL中是什么意思
from:https://www.cnblogs.com/kekong/p/6731321.html Transact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE. ...
- T-sql语句查询执行顺序
前言 数据库的查询执行,毋庸置疑是程序员必备技能之一,然而数据库查询执行的过程绚烂多彩,却是很少被人了解,今天哥哥要带你装逼带你飞,深入一下这sql查询的来龙去脉,为查询的性能优化处理打个基础,或许面 ...
- [转载]T-SQL(MSSQL)语句查询执行顺序
注意:笔者经过实验和查阅资料,已在原作基础上做了部分更改.更改不代表原作观点,查看原作请点击下方链接. 原文出处: 作者:张龙豪 链接:http://www.cnblogs.com/knowledge ...
- T-SQL性能调整(一)--编译和重新编译
概念简介 我们平时所说的查询在SQLServer 中主要有两部分来实现: 编译查询,主要包括了五个环节(缓存查找.分析.代数化.优化.缓存新计划) 流程描述: 首先,在计划缓存中查找是否包含新的查询, ...
- Inside TSQL Querying - Chapter 3. Query Tuning
Tuning Methodology When dealing with performance problems, database professionals tend to focus on t ...
- 【转】T-SQL 教程
USE [test] GO /****** Object: StoredProcedure [dbo].[PageIndex] Script Date: 12/07/2011 10:26:36 *** ...
- CODE - TSQL convert Query to JSON
原文 ODE - TSQL convert Query to JSON TSQL - Query to JSON It is my philosophy that good development s ...
- 工作T-SQL备忘
作为一个"浸淫" Oracle 数据库很久的人来说, 突然转入 T-SQL, 也就是 MSSQL , 工作中经常用的查询和 MSMS 使用备忘如下 : --1. 切换对应的库连接 ...
- SET ANSI_NULLS ON,SET NOCOUNT ON,SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ONTransact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE. 通过设置 ANSI_NULLS OFF 可将此选项激活.当 ANSI ...
- T-SQL 之 事务
事务全部是关于原子性的.原子性是指可以把一些事情当做一个单元来看待.从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合. 事务要有非常明确的开始和结束点.SQL Server中 ...
随机推荐
- 浅谈FPGA有限状态机
状态机几乎可以实现一切时序电路. 有限状态机(FiniteStateMachine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机.Moore型状态机输出仅仅 ...
- mysql实战优化之七:数据库侧配置优化
对于功能,我们可能知道必须改进什么:但对于性能问题,有时我们可能无从下手.其实,任何计算机应用系统最终队可以归结为: cpu消耗 内存使用 对磁盘,网络或其他I/O设备的输入/输出(I/O)操作. 但 ...
- 微信小程序之目录结构
小程序,功能不会太多,页面不会太多. 正常情况下,会包含首页,分类页面,个人中心页面,导航页面,其他页面等等. 我们首先要把页面结构布置好,把架子搭建好. 剩下的就是配置一些内容,小程序的基本信息,接 ...
- mysql 常见参数
my.cnf[client] 对mysql的所有客端都生效的[mysql] 只对mysql这个命令有效了[mysqd][mysqld_multi] 多实例启动[mysqld_safe][mysqldN ...
- tomcat 1字节的UTF-8序列的字节1无效
微信支付时, 命名返回支付成功, 但是成功后却返回如下的错误, 在测试环境都是没有任何问题, 到客户现场后, 可能客户现场使用的4G网络, 用微信支付时一直报这样的错误 错误现象: com.sun.o ...
- log4j配置文件的手动加载与配置初始化
一. 本地项目: 初始化log4j的日志配置,指定到src目录下(建议用2) //1. 本地项目-属性文件配置 PropertyConfigurator.configu ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第五周
java学习第五周心得体会 本周,是Java学习第五周,随着时间推移,随着课本内容的推进,我们接触到的程序也开始变得越来越复杂,不再是二三章那些用来练手的小程序了,这一点,在我们的例题运 ...
- Vue基础以及指令, Vue组件
Vue基础篇一 Vue指令 Vue的指令directive很像我们所说的自定义属性,指令时Vue模板中最常用的功能,它带有v-前缀,功能是当表达式改变的时候,相应的行为作用在DOM上. <div ...
- codeforeces:Mister B and Astronomers分析和实现
题目很长,稍微翻译一下: 外星球每隔T秒中只有一秒可以被观测到,其它T-1秒无法被观测.n个天文学家(分别编号为1,...,n)轮流观测天空1秒,且第i+1个科学家在第i个天文学家后ai+1秒后才执行 ...
- 10. Regular Expression Matching字符串.*匹配
[抄题]: Given an input string (s) and a pattern (p), implement regular expression matching with suppor ...