sql 判断字段为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 判断字段为空相关的知识,希望对你有一定的参考价值。

select top 10 *
from yookee.N_Article where (ChannelId = 87) AND (Type = 390 OR Type = 89) AND IsIndex=1 And IsRecommend=1
And(VedioWhere not in(1,2,3,4)) order by AddTime desc
这个SQL并不行
现在的需求是 如果vediowhere 这个字段为0的话就要再判断 vediowherename这个字段, 这个字段的值可能为,港台,内地,日本,韩国...
不为0的话则不需要
请问sql需要怎么写?
select top 100 *
from yookee.N_Article where (ChannelId = 87) AND (Type = 390 OR Type = 89) AND IsIndex=1 And IsRecommend=1
And
((VedioWhere=0 and vediowherename in('日本','韩国')) or (VedioWhere in(3,4) and vediowherename='0'))
order by ID desc

我这样写了.出来的数据还是不正确.
不知道到底是怎么回事了

AND (((VedioWhere = 0) AND (VedioWhereName IN ('港台','内地','日本','韩国')))
OR (VedioWhere <> 0))

事实上,如果没什么问题的话,可以直接简化成
AND ((VedioWhere <> 0)
OR (VedioWhereName IN ('港台','内地','日本','韩国')))
参考技术A select top 10 *
from yookee.N_Article where (ChannelId = 87) AND (Type = 390 OR Type = 89) AND IsIndex=1 And IsRecommend=1
And(VedioWhere not in(1,2,3,4) or (VedioWhere = 0 and vediowherename = "港台")) order by AddTime desc
=================================
试试看。

sql如何判断字段的值是否空值

如:
select (t.num_1 + t.num_2) from table t

字段num_1有可能为null ,如果该条记录的num_1为空值,则用0和num_2相加。这个sql语句怎么写。
最好oracle和sql server的都写写。

在sql中
空值有NULL 和''的形式
当是NULL的时候用 IS NULL判断
当是''的时候用 =''判断
比如
select * from table where enddate IS NULL;
select * from table where str='';
参考技术A oracle:
select (nvl(t.num_1, 0)+t.num_2) from table t

sql server:
select (isnull(t.num_1, 0)+t.num_2) from table t本回答被提问者采纳
参考技术B select (nvl(t.num_1, 0)+t.num_2) from table t 参考技术C 用isnull方法判断为空不为空~ 参考技术D <a href="http://12723.xxkk.net">学习中</a>

以上是关于sql 判断字段为空的主要内容,如果未能解决你的问题,请参考以下文章

如何判断SQL SERVER表中字段为空?

php 判断一个字段是不是为空,为空的话执行一段sql语句

sql 判断字段为空

sql如何判断字段的值是否空值

sql判断字段是不是为空

关于 SQL SUM 求和 怎么判断 字段是不是为空