一、应用场景

1、购买的零件和本地生产的零件都是零件,尽管多重的实体类型在数据存储上略有不同,但是它们有太多的相同之处,因此通常使用一个表格而不是两个。

所以这是如果我们需要计算零件的实际话费的话,那么他们的计算方式确是更具不同的字段来计算的,比如说本地生产的零件计算方式就只是成本这里用个字段cost表示.

而购买的零件的成本计算方式就大不相同了,它的是零件的销售价(selling price->sp)加上运费(fregit).

ok,就是用来干这个的,下面是解决代码:.

COALESCE(cost,sp+fregit) as money

如果当前零件记录的cost为空,也就是当前零件是购买的零件,那么实际花费按照销售价(selling price->sp)加上运费(fregit)的方式来计算

上面的只是COALESCE最简单的用途,下面才是它强大的地方,

2、强大之处

当COALESCE(expr1,expr2),当COALESCE中的表达式小于3的时候,它就相当于CASE WHEN expr1 IS NOT NULL THEN expr2 END

但是当COALESCE(expr1,expr2,expr3,.......exprn),当里面的表达式大于等于3的时候,那么他就会循环上面的操作,知道执行到里面的某一个表达式,他的值不为NULL为止

CASE WHEN expr1 IS NOT NULL THEN expr1

ELSE COALESCE (expr2, ..., exprn) END

最新文章

  1. 【原】如何改变表单元素的外观(for Webkit and IE10)
  2. React Native填坑之旅--重新认识RN
  3. 移动端调试工具-Weinre
  4. 第22章 DLL注入和API拦截(2)
  5. SharePoint开发 - 自定义导航菜单(一)菜单声明与配置
  6. Headfirst设计模式的C++实现——适配器(Adapter)
  7. PHP定义静态方法的原则
  8. java数据结构之二叉树的实现
  9. javascript名字由来
  10. 牛客网编程练习之PAT乙级(Basic Level):1032 选大王
  11. Eclipse使用JDBC小案例
  12. idea构建spark开发环境,并本地运行wordcount
  13. C#单元测试分享ppt
  14. 非post请求时整个url作为参数传递出现bug
  15. 原 TCP层的分段和IP层的分片之间的关系 & MTU和MSS之间的关系
  16. ftp服务器Serv-U 设置允许自动创建不存在的目录
  17. java中线程的停止以及LockSupport工具类
  18. poj 2387——单源最短路权值大于0
  19. phpQuery的用法
  20. Cookie/Session编码

热门文章

  1. Statement 接口的应用(存在sql语句的注入风险)
  2. pagecontrol
  3. 微软编程一小时 题目2: Longest Repeated Sequence
  4. ubuntu 跑.net core 2.0
  5. Re:从零开始的Spring Security Oauth2(一)
  6. List<object>进行Distinct()去重
  7. 启动redis一闪就关
  8. 结构(struct)
  9. OCP考试最新052题库分析整理-28
  10. kvm虚拟机动态迁移