MyDAL - is null && is not null 条件 使用
索引:
一.API 列表
C# 代码中 instance.property == null 生成 SQL 对应的 is null :
如:.Queryer<Agent>()
... ...
.Where(it => it.CrmUserId == null)
... ... 用于 单表 is null 条件
.Queryer(out Agent a5,out AgentInventoryRecord r5)
... ...
.Where(() => a5.ActiveOrderId==null)
... ... 用于 多表连接 is null 条件
C# 代码中 instance.propery != null 生成 SQL 对应的 is not null :
如:.Queryer<Agent>()
... ...
.Where(it => it.ActiveOrderId != null)
... ... 用于 单表 is not null 条件
.Queryer(out Agent a6, out AgentInventoryRecord r6)
... ...
.Where(() => a6.ActiveOrderId != null)
... ... 用于 多表连接 is not null 条件
二.API 单表-便捷 方法 举例
1. IS NULL 条件
var res7 = await Conn.QueryListAsync<Agent>(it => it.ActiveOrderId == null);
以 MySQL 为例,生成 SQL 如下:
select *
from `agent`
where `ActiveOrderId` is null ;
2. IS NOT NULL 条件
var res8 = await Conn.QueryListAsync<Agent>(it => it.ActiveOrderId != null);
以 MySQL 为例,生成 SQL 如下:
select *
from `agent`
where `ActiveOrderId` is not null ;
三.API 单表-完整 方法 举例
1. IS NULL 条件
var res1 = await Conn
.Queryer<Agent>()
.Where(it => it.ActiveOrderId == null)
.QueryListAsync();
以 MySQL 为例,生成 SQL 如下:
select *
from `agent`
where `ActiveOrderId` is null ;
2. IS NOT NULL 条件
var res4 = await Conn
.Queryer<Agent>()
.Where(it => it.ActivedOn != null && it.ActiveOrderId != null && it.CrmUserId == null)
.QueryListAsync();
以 MySQL 为例,生成 SQL 如下:
select *
from `agent`
where (( `ActivedOn` is not null && `ActiveOrderId` is not null ) && `CrmUserId` is null );
四.API 多表连接-完整 方法 举例
1. IS NULL 条件
var res5 = await Conn
.Queryer(out Agent a5,out AgentInventoryRecord r5)
.From(()=>a5)
.LeftJoin(()=>r5)
.On(()=>a5.Id==r5.AgentId)
.Where(() => a5.ActiveOrderId==null)
.QueryListAsync<Agent>();
以 MySQL 为例,生成 SQL 如下:
select a5.`*`
from `agent` as a5
left join `agentinventoryrecord` as r5
on a5.`Id`=r5.`AgentId`
where a5.`ActiveOrderId` is null ;
2. IS NOT NULL 条件
var res6 = await Conn
.Queryer(out Agent a6, out AgentInventoryRecord r6)
.From(() => a6)
.LeftJoin(() => r6)
.On(() => a6.Id == r6.AgentId)
.Where(() => a6.ActiveOrderId != null)
.QueryListAsync<Agent>();
以 MySQL 为例,生成 SQL 如下:
select a6.`*`
from `agent` as a6
left join `agentinventoryrecord` as r6
on a6.`Id`=r6.`AgentId`
where a6.`ActiveOrderId` is not null ;
蒙
2019-01-20 22:22 周日
2019-04-12 23:47 周五
MyDAL - is null && is not null 条件 使用的更多相关文章
- SQL语句中=null和is null
平时经常会遇到这两种写法:IS NOT NULL与!=NULL.也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合.实际上,是由于对二者使用区别理解不透彻. 默认情况下,推荐使用 IS ...
- mysql探究之null与not null
相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 1.我字段类型是not null,为什么我可以插入空值 2.为毛not null的效率比null高 3.判断字段 ...
- 【MySQL】探究之null与not null
相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候 ...
- 数据库中is null(is not null)与=null(!=null)的区别
在标准SQL语言(ANIS SQL)SQL-92规定的Null值的比较取值结果都为False,既Null=Null取值也是False.NULL在这里是一种未知值,千变万化的变量,不是“空”这一个定值! ...
- 索引法则--IS NULL, IS NOT NULL 也无法使用索引
Mysql 系列文章主页 =============== 1 数据准备 1.1 建表 DROP TABLE IF EXISTS staff; CREATE TABLE IF NOT EXISTS st ...
- MySQL null与not null和null与空值''的区别
参考连接:https://segmentfault.com/a/1190000009540449 相信很多用了MySQL很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是n ...
- 数据库表字段,DEFAULT NULL与NOT NULL DEFAULT
为什么要把字段设置成not null 呢? 1.空值是不占用空间的 2.mysql中的NULL其实是占用空间的,下面是来自于MYSQL官方的解释 “NULL columns require addit ...
- 转!!mysql 字段 is not null 和 字段 !=null
今天在查询数据时,查到包含一条某个时间startTime(该字段默认为null ) 为null的记录,想把它过滤,加了 startTime != null 的条件,结果记录都没了,应该用条件 is ...
- IOS开发遇到(null)与<null>轻松处理
在ios开发中不可避免的我们会遇到服务器返回的值有空值,但是如果是nil也就算了还可能得到(null)以及<null>的返回值,该如何处理呢?(当然有的字典转模型中已处理,可以通过遍历等) ...
随机推荐
- 深度学习与计算机视觉:基于Python的神经网络的实现
在前面两篇文章介绍了深度学习的一些基本概念,本文则使用Python实现一个简单的深度神经网络,并使用MNIST数据库进行测试. 神经网络的实现,包括以下内容: 神经网络权值的初始化 正向传播 误差评估 ...
- BFPRT算法
解决的问题:在一个数组中找到最小的k个数 常规解法:1.排序,输出前k个数,时间复杂度O(n*log(n)). 2.利用一个大小为k的大根堆,遍历数组维持大根堆,最后返回大根堆就可以了,时间复杂度O( ...
- Android startActivity原理分析(基于Android 8.1 AOSP)
应用进程内 如何使用Intent做Activity的跳转 Intnet intent = new Intent(MainActivity.this,TestActivity.class); start ...
- (四)图数据neo4j用户管理
1.用户管理 neo4j可通过内置函数,进行用户的创建.查看.删除. (1)用户创建; CALL dbms.security.createUser(name,password,requridchang ...
- July 02nd. 2018, Week 27th. Monday
Bad times make a good man. 艰难困苦出能人. Bad times make a good man, and hard times create strong men, but ...
- 利用requirejs实现vue的模块化开发
通常vue都是搭配webpack+vue-cli使用的 如果不在nodejs环境下开发web应用呢? 这里提出一个解决方案: 1.加载requirejs,并且指定main函数 <script d ...
- 关于.Net mvc 项目在本地vs运行响应时间过长无法访问时,解决方法!
最近可能是刚升级了电脑使用了window10操作系统,总是遇到了一些以前没有遇到过的事情! 今早来到公司本来准备写bug的,但是当我打开vs运行的时候发现今天的电脑响应的时间明显的要比之前打开网页调试 ...
- 【Python实践-2】求一个或多个数的乘积
# -*- coding: utf-8 -*- #定义一个函数,可接收一个或多个数并计算乘积 def product(*numbers): s=1 for n in numbers: s=s*n re ...
- 腾讯短信服务精简版(PHP )
短信视乎已经被慢慢淡出平常的交流工具队列,但始终抹不去它的存在,短信验证码视乎从未被取代,此外在重要的信息通知的地位也是不可取的的.所以了解短信的使用是开发中很有必要的一环. 腾讯云的短信服务提供有1 ...
- 【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping
一.前述 调优对于模型训练速度,准确率方面至关重要,所以本文对神经网络中的调优做一个总结. 二.神经网络超参数调优 1.适当调整隐藏层数对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比 ...