多语言展示
当前在线:472今日阅读:84今日分享:32

sqlserver如何查询NULL的结果?ISNULL使用

sqlserver中的NULL是一种特殊的存在,因为,不能直接使用等号匹配NULL结果,需要使用IS NULL或者IS NOT NULL来查询过滤结果
方法/步骤
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, '') = ''

推荐信息