MySQL CASE WHEN语句
来源:互联网 发布:爆粉软件 编辑:程序博客网 时间:2024/05/18 02:31
转自:http://www.baike369.com/content/?id=5692
MySQL CASE语句
CASE语句是另一个进行条件判断的语句。它可以实现比IF语句更复杂的条件判断。
第一种CASE语句格式
基本语法格式如下:
CASE case_expr WHEN when_value THEN statement_list [WHEN when_value THEN statement_list]... [ELSE statement_list]END CASE
其中,case_expr参数表示条件判断的表达式,决定了哪一个WHEN子句会被执行;when_value参数表示表达式可能的值,如果某个when_value表达式与case_expr表达式结果相同,则执行对应THEN关键字后的statement_list中的语句;statement_list参数表示不同when_value值的执行语句。
实例1:
CASE流程控制语句的第1种格式。SQL代码如下:
CASE age WHEN 18 THEN SET @count1=@count1+1; ELSE SET @count2=@count2+1;END CASE;
其中,“@”的用法可以阅读“MySQL定义条件和处理程序”这篇文章。
如果age的值为18,count1的值加1;否则count2的值加1。
CASE语句都要使用END CASE结束。
实例2:
使用CASE语句的第1种格式,判断val的值等于1、等于2,或者两者都不等。SQL语句如下:
CASE val WHEN 1 THEN SELECT 'val is 1'; WHEN 2 THEN SELECT 'val is 2'; ELSE SELECT 'val is not 1 or 2';END CASE;
当val值为1时,输出字符串“val is 1”;当val值为2时,输出字符串“val is 2”;否则输出字符串“val is not 1 or 2”。
第二种CASE语句格式
基本语法格式如下:
CASE WHEN expr_condition THEN statement_list [WHEN expr_condition THEN statement_list]... [ELSE statement_list]END CASE
其中,expr_condition参数表示条件判断语句;statement_list参数表示不同条件的执行语句,该语句中,WHEN语句将被逐个执行,直到某个expr_condition表达式为真,则执行对应THEN关键字后面的statement_list语句;如果没有条件匹配,ELSE子句里的语句将被执行。
提示:
这里介绍的用在存储程序(存储过程或存储函数)里的CASE语句与“控制流程函数”里描述的SQL CASE表达式的CASE语句有轻微不同。这里的CASE语句不能有ELSE NULL子句,并且用END CASE替代END来终止。
实例1
CASE流程控制语句的第2种格式。SQL代码如下:
CASE WHEN age=18 THEN SET @count1=@count1+1; ELSE SET @count2=@count2+1;END CASE;
如果age的值为18,count1的值加1;否则count2的值加1。
实例2
使用CASE语句的第2种格式,判断val是否为空、小于0、大于0或者等于0。SQL语句如下:
CASE WHEN val IS NULL THEN SELECT 'val is NULL'; WHEN val<0 THEN SELECT 'val is less than 0'; WHEN val>0 THEN SELECT 'val is greater than 0'; ELSE SELECT 'val is 0';END CASE;
当val值为空,输出字符串“val is NULL”;当val值小于0时,输出字符串“val is less than 0”;当val值大于0时,输出字符串“val is greater than 0”;否则输出字符串“val is 0”。
- mysql 语句case when
- mysql 语句case when
- mysql 语句case when
- mysql 语句case when
- mysql 语句case when
- mysql 语句case when
- mysql 语句case when
- MySQL CASE WHEN语句
- mysql 语句case when
- mysql 语句case when
- mysql case when语句
- 鉴客 MySQL 的 CASE WHEN 语句
- Mysql数据库if语句case when使用
- MySQL 的CASE WHEN 语句的使用
- mysql语句case when 的代码片段
- mysql中case when then 语句
- MySQL 的CASE WHEN 语句使用说明
- Mysql语句,用到case when ,concat
- ClickOnce应用程序无法安装/卸载
- menuconfig中的配置
- testng:ant安装、环境变量配置及验证
- Go 语言方法接受者类型的选择
- redis实现 spring-redis-data初学习
- MySQL CASE WHEN语句
- 一步一步学Hadoop(之ZooKeper)
- PropertyPlaceholderConfigurer的用法:
- 大型网站架构改进历程:存储的瓶颈(5)
- oracle dbms_random.value
- 轻量级数据存储方式--SharedPreferences
- mac系统Tunnelblick 下载以及安装流程
- 带内管理与带外管理的区别是什么
- 使用universal-image-loader时报异常java.io.IOException: Mark has been invalidated.