学习过程中看到的不解
在通过sql server2005/2008创建存储过程的文件时,在文件的开头部分会默认出现下面这几行代码:
USE [Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
3).SET ANSI_NULLS ON:表示对空值(null)对等于(=)或不等于(<>)进行判断时,遵从 SQL-92 规则。
(1).SQL-92规则中,在对空值(null)进行等于(=)或不等于(<>)比较时,取值为false。也就是说:
1>.即使是表中字段column_name中包含空值(null),在进行条件判断 where column_name = NULL 时,该select查询语句返回的数据是空的/返回零行。
2>.即使是表中字段column_name中包含非空值,在进行条件判断 where column_name <> NULL时,该select查询语句返回的数据是空的/返回零行。
例子:
数据表a的数据:
4).SET QUOTED_IDENTIFIER ON:表示使用 引用标识符,标识符可以用双引号分隔,但是,文字必须用单引号分隔。
例如:
select "name","age","sex","grade" from a where name = '张三'
或
select name,age,sex,grade from a where name = '张三'