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