sql 不等于查询后 ,空值也被筛选出了如何解决!?
例如表字段1字段2字段31AB2A(null)3CD我在查询SELECT*from表wherenot字段3=D;时,只会出现结果1AA(但是我需要2A(null)也出来啊...
例如 表
字段1 字段2 字段3
1 A B
2 A (null)
3 C D
我在查询
SELECT * from 表
where not 字段3 = D; 时,只会出现结果
1 A A (但是我需要 2 A (null) 也出来啊)
SELECT * from 表
where not 字段3 = D and B<>NUll; 这样试试
这样操作的话,空值行会显示,但是 3 C D 这行记录一样会显示,不能达到目的。
sqlserver:
SELECT * from 表
where isnull(字段3,'') <> 'D' 看似正确,但是输入后显示函数语法错误 展开
字段1 字段2 字段3
1 A B
2 A (null)
3 C D
我在查询
SELECT * from 表
where not 字段3 = D; 时,只会出现结果
1 A A (但是我需要 2 A (null) 也出来啊)
SELECT * from 表
where not 字段3 = D and B<>NUll; 这样试试
这样操作的话,空值行会显示,但是 3 C D 这行记录一样会显示,不能达到目的。
sqlserver:
SELECT * from 表
where isnull(字段3,'') <> 'D' 看似正确,但是输入后显示函数语法错误 展开
7个回答
展开全部
使用 IS NOT NULL 可以去除空值
比如
select * from table where value1 <> 'test' and value2 IS NULL
即可
其中<> 表示不等于
比如
select * from table where value1 <> 'test' and value2 IS NULL
即可
其中<> 表示不等于
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先用数据库函数进行null值转换再比较:
SELECT * from 表
where not isnull(字段3,'0') = D
SELECT * from 表
where not isnull(字段3,'0') = D
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还有很多搭配方式,1.where
字段3
!=
d
2.where
字段3 <>
d
3.加个条件
and
字段2
is
null
字段3
!=
d
2.where
字段3 <>
d
3.加个条件
and
字段2
is
null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sqlserver:
SELECT * from 表
where isnull(字段3,'') <> 'D'
oracle:
SELECT * from 表
where nvl(字段3,'') <> 'D'
mysql:
SELECT * from 表
where ifnull(字段3,'') <> 'D'
SELECT * from 表
where isnull(字段3,'') <> 'D'
oracle:
SELECT * from 表
where nvl(字段3,'') <> 'D'
mysql:
SELECT * from 表
where ifnull(字段3,'') <> 'D'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT * from 表
where 字段3 != D
where 字段3 != D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询