语法说明:

方式一:

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的使用的更多相关文章

  1. MySQL中case when的基本用法总结

    MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...

  2. 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 ...

  3. MySql 中 case when then else end 的用法

    解释: SELECT                case                   -------------如果    when sex='1' then '男' ---------- ...

  4. MYSQL中case when then else end 用法

    条件语句 delimiter \\CREATE PROCEDURE proc_if ()BEGIN      declare i int default 0;   if i = 1 THEN      ...

  5. mysql中case when then end的含义和用法

    参见这篇博客:https://blog.csdn.net/rongtaoup/article/details/82183743 case when then else end 语句用于查询满足多种条件 ...

  6. mysql中case用法

    如上所述,使用case的子句将作为一个字段,方便起见,可以用别名表示.其中,when是case的条件,值为then的表达式值.   参考: http://www.owe-love.com/myspac ...

  7. MySQL中case then用法

    1.查询图书价格,若价格为null,则显示unknown,若价格为10到20, 则显示10 to 20 SELECT price, CASE WHEN price='null' THEN 'UnKno ...

  8. 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 把上面表格的数据 ...

  9. 篇一:MySQL中case when then

    图一: 图二:

随机推荐

  1. Eclipse用法和技巧一:还原视图和编辑器

    链接地址:http://blog.csdn.net/maybe_windleave/article/details/8763744 在实际使用eclipse过程中,由于经常关闭或者打开视图,某一刻你会 ...

  2. Qt图片显示效率的比较 转

    转http://blog.sina.com.cn/s/blog_5c70dfc80100r257.html 在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能 ...

  3. 一个问题:关于类型转换Type Cast(汇编讲解 as 语法)

    问题如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34   ...

  4. 性能测试之LoadRunner11 破解

    1. 下载破解文件lm70.dll和mlr5lprg.dll     lm70.dll文件,覆盖x:\Program Files\Mercury\LoadRunner\bin下文件即可.     ml ...

  5. Android中获取电池电量

    /** * * @author chrp * *显示当前电池电量 */ public class MainActivity extends Activity { private TextView tv ...

  6. OO的ALV隐藏工具栏的form

    OO的ALV隐藏工具栏: ***展示数据 CALL METHOD gr_alvgrid->set_table_for_first_display EXPORTING is_variant = g ...

  7. Qt4创建工程的几种方法:linux系统

    方法一:以Qt Creator 作为IDE 1.启动Qt Creator,并创建一个空项目 2.输入路径和工程名字 3.添加cpp文件 4.添加代码,并且编译执行 5.执行结果 方法二:利用linux ...

  8. C++STL之set容器及stream类

    首先讲stream流类 头文件#include <sstream> 其功能是进行不同类型之间的转换,跟C语言 fscanf 和 fprintf 作用是同样的,可是比C语言的更简便更好用. ...

  9. 让工程师爱上CMM,实现管理于无形 --- 中标软件CMMI L5之路 (2/2)

    上节:见 http://blog.csdn.net/sztiger168/article/details/9142069 使用 青铜器RDM在2011年正式在中标软件上线,将研发业务全面流程化,完全支 ...

  10. Swift - 故事板storyboard的用法

    故事板(UIStoryboard)可以很方便的进行界面的设计,下面总结了常用的几个操作方法: 1,初始场景 选中View Controller,在属性面板里勾选Is Initial View Cont ...