1、创建一个临时表,用于演示sqlserver语法中的NULL使用IF OBJECT_ID('tempdb..#tmpNull') IS NOT NULL DROP TABLE #tmpNull;CREATE TABLE #tmpNull( EName varchar(50), -- 姓名 EAddress varchar(200) -- 地址);
2、往临时表中插入几行测试数据,其中包括插入Null值insert into #tmpNull(EName, EAddress) values('员工1', '中国北京');insert into #tmpNull(EName, EAddress) values('员工10', NULL);insert into #tmpNull(EName, EAddress) values('员工100', '法国巴黎');insert into #tmpNull(EName, EAddress) values('员工120', NULL);insert into #tmpNull(EName, EAddress) values('员工150', '');
3、查询临时表中的测试数据select * from #tmpNull
4、使用等号查询地址列中值为NULL的结果,通过查询可以看出,这样是不会返回任何结果的,因为sqlserver中的Null是不等于Null的select * from #tmpNull where EAddress = NULL
5、如果一定要查询地址为Null的结果,就要使用IS NULL的语法规则查询select * from #tmpNull where EAddress IS NULL
6、如果要查询地址不为NULL的结果,可以使用IS NOT NULL的查询语法select * from #tmpNull where EAddress IS NOT NULL
7、还可以使用ISNULL函数,同时查询出NULL和空字符串的结果select * from #tmpNull where ISNULL(EAddress, '') = ''