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 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!