使用linq进行查询,结果为空时,是怎么判断的呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用linq进行查询,结果为空时,是怎么判断的呢?相关的知识,希望对你有一定的参考价值。
清各位大虾帮忙。PS:比如像datatable一样,可以判断它的行数什么的,谢谢:)
参考技术A 例子: var query =( from item from tableselect item).count();
这会返回一个查询完毕的记录个数,注意这时已经查询完毕,而不是延迟查询 参考技术B 当一个集合来看待 参考技术C var 出来就是集合啊,判断集合的有没有元素就行了。检查一下Count或者Length本回答被提问者采纳
oracle 查询条件中判断两个字段相等时 一个字段为空则跳过
where 语句后面是 t.dataTime=t2.dataTime 如何进行这样的判断:
当t.dataTime或者 t2.dataTime 为空时 则跳过相等判断,如果两个量都有值则进行判断
在线等....急......
--我帮你改下 执行时 先判断全面的条件 就过滤掉了空值 还有‘’ 和null 是不一样的 所以都要过滤
--希望解决了楼主的问题
where t<>'' and t is not nul and t2<>'' and t2 is not null
and t.dataTime=t2.dataTime追问
(关联条件 or (t.dataTime is null or t2.dataTime is null)) 问题这样解决了,不过还是谢谢了
追答你这样写 括号有什么意义呢? 有没有想过?
如果你这样是解决了问题 那么你描述就有问题
果然还是不行哇....问题是你上面那个写法把空值过滤掉了...我联立查询空值也要查出来...
追答我有点搞不清楚楼主的需求了 你能重新描述一下吗?
或者把结果截图给我看也可以
时间都有的时候
存在时间没有的时候
--那就不要那样写 用left join 我不知道你哪个表是主表 如果主表不是t 就换个顺序 你这样就不是---过滤空值了 不明白再问我
select 1 from t left join t2 on
t.dataTime=t2.dataTime
nvl(t.dataTime, sysdate)=nvl(t2.dataTime,sysdate) 这样子的话....如果我t.dataTime 不为空,但是t2.dataTime为空,则t和t2数据匹配就完全不对了啊
追答不太明白你说的,空值本来就应该和具体的值匹配不上啊
追问(关联条件 or (t.dataTime is null or t2.dataTime is null)) 问题这样解决了,不过还是谢谢了
追答楼主要的是全外连接吧,full out jion
参考技术B 你可以where后面限定t.dataTime, t2.dataTime 不为空啊以上是关于使用linq进行查询,结果为空时,是怎么判断的呢?的主要内容,如果未能解决你的问题,请参考以下文章