MySQL流程控制函数
2024-08-27 03:46:00
Name | Description |
---|---|
CASE |
Case operator |
IF() |
If/else construct |
IFNULL() |
Null if/else construct |
NULLIF() |
Return NULL if expr1 = expr2 |
1. IF
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (即expr1<>NULL AND expr1<>0),则IF()的返回值为expr2; 否则返回值则为 expr3。
SELECT IF(status >= 0 AND status_promotion = 1, 1, 2) AS status FROM my_table;
2. IFNULL
IFNULL(expr1,expr2)
假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。
3. NULLIF
NULLIF(expr1,expr2)
如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为 expr1。
4. CASE...WHEN
4.1 CASE后面不带表达式
CASE
WHEN expression THEN 操作1
WHEN expression THEN 操作2
.......
ELSE 操作n
END
4.2 CASE后面带表达式
CASE expression
WHEN expression值1 THEN 操作1
WHEN expression值2 THEN 操作2
.......
ELSE 操作n
END
注意:1)NULL和0是等同的,0和'0'是不同的;2)如果没有ELSE,则返回NULL。
UPDATE test SET status = (
CASE status
WHEN 1 THEN 0
WHEN 0 THEN 1
ELSE status
END );
最新文章
- Atom编辑器添加eclipse快捷键
- 3-附1 ->;和*的区别
- iOSpush过后返回多级界面
- SSH框架面试题
- 递归法绑定文件夹到导航树&;在指定文件夹下新建文件夹
- 安装指南:Win10下安装CentOs7
- windows 下删除.svn文件
- C#泛型理解(转)
- 彩色图像--色彩空间 YIQ 、YUV 、YCbCr 、YC1C2 和I1I2I3
- iOS监听模式系列之键值编码KVC、键值监听KVO的简单介绍和应用
- Git 学习总结
- Notes of Daily Scrum Meeting(12.25)
- 异常的Error与Exception
- Hive的一些理解
- MySQL笔记(五)MySQL 角色与SQL CHECK约束
- Linux下编译安装nginx并且监控
- spark开启远程调试
- Golang reflect 反射
- mysql ";Your password has expired....";错误解决方案
- 什么是2MSL