sqlserver中的NULL是一种特别的存在,因为,不克不及直接利用等号匹配NULL成果,需要利用IS NULL或者IS NOT NULL来查询过滤成果
建立一个姑且表,用于演示sqlserver语法中的NULL利用
IF OBJECT_ID('tempdb..#tmpNull') IS NOT NULL DROP TABLE #tmpNull;
CREATE TABLE #tmpNull(
EName varchar(50), -- 姓名
EAddress varchar(200) -- 地址
);
往姑且表中插入几行测试数据,此中包罗插入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', '');
查询姑且表中的测试数据
select * from #tmpNull
利用等号查询地址列中值为NULL的成果,经由过程查询可以看出,这样是不会返回任何成果的,因为sqlserver中的Null是不等于Null的
select * from #tmpNull where EAddress = NULL
若是必然要查询地址为Null的成果,就要利用IS NULL的语律例则查询
select * from #tmpNull where EAddress IS NULL
若是要查询地址不为NULL的成果,可以利用IS NOT NULL的查询语法
select * from #tmpNull where EAddress IS NOT NULL
还可以利用ISNULL函数,同时查询出NULL和空字符串的成果
select * from #tmpNull where ISNULL(EAddress, '') = ''
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!