SQL条件语句(IF, CASE WHEN, IF NULL)
1.IF
表达式:IF( expr1 , expr2 , expr3 )
expr1条件,条件为true,则值是expr2 ,false,值就是expr3
SELECT
o.id,u.account,catagory.`name`,orderTime,detail.amount,periodtime,if(direction='0','看涨','看跌') directionName
FROM t_order_detail detail
LEFT JOIN t_order o ON o.id = detail.orderId
LEFT JOIN t_catagory catagory ON catagory.id = o.catId
LEFT JOIN t_user u ON u.id = o.userId
2. CASE WHEN
表达式:
CASE 列名
    WHEN 条件 THEN 结果
    ELSE 其他结果
    END 别名
例子:
SELECT
CASE detail.`status` WHEN '0' THEN '未开仓'
WHEN '1' THEN '已开仓'
WHEN '2' THEN '已平仓'
ELSE '取消订单' END
status,
CASE o.type WHEN '0' THEN '单期'
WHEN '1' THEN '多期'
ELSE '策略' END
typeName
FROM t_order_detail detail
LEFT JOIN t_order o ON o.id = detail.orderId
3. IFNULL
表达式:IFNULL( expr1 , expr2)
在 expr1 的值不为 NULL的情况下都返回 expr1,否则返回 expr2
select IFNULL(detailcode,'无') detailcode from ...作者:肥了个大西瓜
链接:https://www.jianshu.com/p/d5b2f590858f
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
SQL条件语句(IF, CASE WHEN, IF NULL)的更多相关文章
- Linux - 简明Shell编程05 - 条件语句(Case)
		脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ... 
- Shell - 简明Shell入门05 - 条件语句(Case)
		示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var case $var in right) echo "Right!";; wrong) ... 
- Java条件语句 switch case
		不得不说的几点小秘密: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case 后面的值可以是常量数值,如 1.2:也可以是一个常量表达式,如 2+2 :但不能是变量或带有变量的 ... 
- Shell Scripts - 条件语句,case语句,function功能
		修改之前的代码 1.判断 $1 是否为 hello,如果是的话,就显示 "Hello, how are you ?": 2.如果没有加任何参数,就提示使用者必须要使用的参数 ... 
- SQL 条件  判断 select case as
		" then "返回的数据1" " then "返回的数据2" else "返回的其他数据" end as 新的列名 f ... 
- shell脚本中的case条件语句介绍和使用案例
		#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,ca ... 
- 『忘了再学』Shell流程控制 — 35、多分支case条件语句
		目录 1.case条件语句介绍 2.case语句需要注意的内容 3.练习 示例1 示例2 1.case条件语句介绍 case语句和if-elif-else语句一样都是多分支条件语句,不过和if多分支条 ... 
- ArcMap中条件语句的bug
		ArcGIS作为一个十分强大的GIS工具平台,也有其bug,在以前在听说过关于SQL条件语句的bug,现在用的10.4.1,仍然与数据有关. 这个bug的出现也是非常偶然,与数据有密切的关系:发现省界 ... 
- if-else 条件语句
		1. 条件语句模型 Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳 ... 
随机推荐
- HttpsURLConnection 安全传输(HTTPS--Secure Hypertext Transfer Protocol-安全超文本传输协议)
			HttpsURLConnection 扩展 HttpURLConnection,支持各种特定于 https 功能.此类使用 HostnameVerifier 和 SSLSocketFactory.为这 ... 
- lucene DocValues——本质是为通过docID查找某field的值 看图
			Why DocValues? The standard way that Solr builds the index is with an inverted index. This style bui ... 
- 洛谷P4136 谁能赢呢?——博弈
			题目:https://www.luogu.org/problemnew/show/P4136 每个人有足够聪明,一定会把图走满: 所以n为偶数先手胜,n为奇数后手胜. 代码如下: #include&l ... 
- Python sklearn Adaboost
			1. Adaboost类库概述 scikit-learn中Adaboost类库比较直接,就是AdaBoostClassifier和AdaBoostRegressor两个,从名字就可以看出AdaBoos ... 
- Xenocode Postbuild 2010 for .NET 使用
			代码混淆工具 参考地址1:http://blog.csdn.net/yanpingsoft/article/details/7997212 参考地址2:http://www.cnblogs.com/w ... 
- angularJs 之deferred
			angularJs 对promise的封装 var deferred = $q.defer(); deferred.promise.then(function(){ var result = {} c ... 
- java数组与字符串相互转换、整型与字符串相互转换【详解】
			java 数组->字符串 1.char数组(字符数组)->字符串 可以通过:使用String.copyValueOf(charArray)函数实现. 举例: char[] arr={ ... 
- java 学习书籍
			<Effective java> <深入理解java虚拟机> <Java并发编程实践> <Java Performance> <java解惑> ... 
- Drawable(6)关于StateList的补充
			模板: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android=&quo ... 
- Android 线程池系列教程(5)与UI线程通信要用Handler
			Communicating with the UI Thread 上一课 下一课 1.This lesson teaches you to Define a Handler on the UI Thr ... 
