MySQL中CASE的使用
语法说明:
方式一:
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
方式二:
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
使用演示样例:
mysql> select id,name, (gender) as '性别' from t_user;
+----+------------+------+
| id | name | 性别 |
+----+------------+------+
| 19 | 张三 | 1 |
| 20 | 小红 | 2 |
| 21 | 超级管理员 | |
+----+------------+------+
3 rows in set (0.00 sec)
mysql> select id,name, (CASE gender WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '其它' END) as '性别' from t_user;
+----+------------+------+
| id | name | 性别 |
+----+------------+------+
| 19 | 张三 | 男 |
| 20 | 小红 | 女 |
| 21 | 超级管理员 | 其它 |
+----+------------+------+
3 rows in set (0.00 sec)
mysql> select id,name, (CASE WHEN gender=1 THEN '男' WHEN gender=2 THEN '女' ELSE '其它' END) as '性别' from t_user;
+----+------------+------+
| id | name | 性别 |
+----+------------+------+
| 19 | 张三 | 男 |
| 20 | 小红 | 女 |
| 21 | 超级管理员 | 其它 |
+----+------------+------+
3 rows in set (0.00 sec)
应用常景:
Eg:在论坛中,不同类型的贴子的type不一样,置顶贴是一直置顶的,而精华贴和普通贴在排序上是一样的,此时就能使用mysql的Case,使在排序时精华贴和普通贴的type是一样的。
MySQL中CASE的使用的更多相关文章
- MySQL中case when的基本用法总结
MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...
- mysql中 case when的使用
SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b ...
- MySql 中 case when then else end 的用法
解释: SELECT case -------------如果 when sex='1' then '男' ---------- ...
- MYSQL中case when then else end 用法
条件语句 delimiter \\CREATE PROCEDURE proc_if ()BEGIN declare i int default 0; if i = 1 THEN ...
- mysql中case when then end的含义和用法
参见这篇博客:https://blog.csdn.net/rongtaoup/article/details/82183743 case when then else end 语句用于查询满足多种条件 ...
- mysql中case用法
如上所述,使用case的子句将作为一个字段,方便起见,可以用别名表示.其中,when是case的条件,值为then的表达式值. 参考: http://www.owe-love.com/myspac ...
- MySQL中case then用法
1.查询图书价格,若价格为null,则显示unknown,若价格为10到20, 则显示10 to 20 SELECT price, CASE WHEN price='null' THEN 'UnKno ...
- mysql中case的一个例子
最近遇到一个问题: year amount num 1991 1 1.1 1991 2 1.2 1991 3 1.3 1992 1 2.1 1992 2 2.2 1992 3 3.3 把上面表格的数据 ...
- 篇一:MySQL中case when then
图一: 图二:
随机推荐
- android的单元测试
1.新建android Test project 2. 选择针对测试的项目 3.新建类继承AndroidTestCase即可: package com.howlaa.sms.test; import ...
- Windows Azure入门教学系列 (六):使用Table Storage
本文是Windows Azure入门教学的第六篇文章. 本文将会介绍如何使用Table Storage.Table Storage提供给我们一个云端的表格结构.我们可以把他想象为XML文件或者是一个轻 ...
- Linux的grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- canvas 多种形状绘图方法
function canvasUploadImg(image,imageName,imgType,callbackfn){ var img_width = image.width; var img_h ...
- 树莓派的.bashrc和.bash_aliases文件
在你的home文件夹中,你能够找到一个包括用户配置的隐藏文件.bashrc. 你能够依据自己的须要改动这个文件. 文件里为你提供了一些实用的调整设置.默认情况下当中一些设置是被凝视掉的. 比如,一些l ...
- [每日一题] OCP1z0-047 :2013-08-29 NULL............................................................168
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/10558305 正确答案:B 用函数可以针对各种数据类型时行操作,包括NULL值在内.其中有 ...
- Qt Quick鼠标事件处理、键盘、计时器
在<Qt Quick 事件处理之信号与槽>中介绍了 QML 中怎样使用内建类型的信号以及怎样自己定义信号,这次我们来看看怎样处理鼠标.键盘.定时器等事件.这些时间在处理时,一般是通过信号来 ...
- BSGS_Baby steps giant steps算法
BSGS这个主要是用来解决这个题: A^x=B(mod C)(C是质数),都是整数,已知A.B.C求x. 在具体的题目中,C一般是所有可能事件的总数. 解: 设m = ceil(sqrt(C))(ce ...
- phabricator在mac上的搭建(转)
环境:OS X Yosemite 10.10.5 前提:phabricator主要是由php写的,而且是以website方式运行的,所以mac上要先安装好 php + nginx(或apache) + ...
- 【改了一天的拓扑排序】POJ 1094——Sorting It All Out
来源:点击打开链接 不知道怎么回事,wa了整整一天..在绝望的时候AC了. 重点是分步处理和三种情况的判断. 1.判断是否成环,成环了直接输出错误信息. 2.然后一条边一条边的加入,进行拓扑排序,如果 ...