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 无条件跳 ...
随机推荐
- maven目录结构介绍篇
bin 该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath喝相关的java系统属性 mvn是基于UNIX平台shell脚本,mvn.bat是基于Windows平台的 ...
- 【Idea】Debug模式
Idea则是把手标放到你想显示结果的代码上,按Ctrl+F1就显示结果. 如果你想跳到下一个断点直接按F9
- bzoj 5329 战略游戏
题目大意: 一个无向图 Q个询问 每次给一些点的集合 求有多少个点满足去掉这个点后使这些点的集合中有一个点对不连通 思路: 点双缩点 相当于每次求这些点中的所有路径上的圆点个数 可以将这些点按dfs序 ...
- 实现的是Linux和Windows之间的一种共享--samba
samba 基本配置及自定义控制 https://www.cnblogs.com/l-hh/p/9473937.html Samba简介: Samba实现的是Linux和Windows之间的一种共享, ...
- Linux设备模型 (1)
随着计算机的周边外设越来越丰富,设备管理已经成为现代操作系统的一项重要任务,这对于Linux来说也是同样的情况.每次Linux内核新版本的发布,都会伴随着一批设备驱动进入内核.在Linux内核里,驱动 ...
- Linux 性能工具集
系统级别: 下面这些工具利用内核的计数器在系统软硬件的环境中检查系统级别的活动. vmstat: 虚拟内存和物理内存的统计,系统级别. mpstat: 每个CPU 的 使用情况. iostat: 每个 ...
- .NET获取汉字首字母
/// <summary> /// 获取汉字首字母(可包含多个汉字) /// </summary> /// <param name="strText" ...
- vs2010 每行代码显示虚线
快捷键:Ctrl+R,W或Ctrl+E,S,即可去除 或者是编辑菜单——高级——查看空白 VS12010代码编辑器横向滚动条 工具----选项-----文本编辑器---所有语言---右侧 自动换行去掉
- bzoj 1602: [Usaco2008 Oct]牧场行走【瞎搞】
本来想爆手速写个树剖,然而快下课了就手残写了了个n方的短小-- 暴力把查询的两个点中深的一个跳上来,加上边权,然后一起跳加边权就行了 #include<iostream> #include ...
- bzoj2720: [Violet 5]列队春游(概率期望+组合数学)
Description Input Output Sample Input Sample Output HINT 数学题都这么骚的么……怎么推出来的啊……我是真的想不出来…… 首先,要算总的视 ...