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
图一: 图二:
随机推荐
- iOS进阶面试题----经典10道
OneV‘s Den在博客里出了10道iOS面试题,用他的话是:"列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术" . 在这 ...
- 六款常用的linux C/C++ IDE
摘要: 一.AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮助你 ...
- KMP原理、分析及C语言实现
(是在matrix67博客基础上整理而来,整理着:华科小涛@http://www.cnblogs.com/hust-ghtao/) 有些算法可以让人发疯,KMP算法就是一个.在网上找了很多资料讲的都让 ...
- [课堂实践与项目]IOS只能进行简单的加减乘除的没有优先级的计算器
// // LCViewController.m // calculator // // Created by lichan on 13-12-3. // Copyright (c) 2013年 co ...
- viewDidLoad、viewDidUnload、viewWillAppear、viewDidAppear、viewWillDisappear 和 -viewDidDisappear的区别和使用
首先看一下官方解释: - (void)loadView; // This is where subclasses should create their custom view hierarchy i ...
- SSL 中证书能否够使用IP而不是域名
前言:曾经听别人说生成证书时能够用IP地址.今天用样例证实了下用IP地址是不行的. 情景一: 生成证书时指定的名称为IP地址 样例是做单点登录时的样例.web.xml中配置例如以下: <!--该 ...
- 【Error】JavaWeb: 严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
在MyEclipse中启动Tomcat时出现错误,错误信息例如以下: 严重: Failed to initialize end point associated with ProtocolHandle ...
- 苹果手表的真实触感信息(Real Touch Messaging)
苹果手表凭借其炫酷的设计和界面,无疑已成为一个新的科技焦点,也是苹果在可穿戴领域的重头戏. Apple Watch 有一个非常吸引人的特性:Real Touch Messaging,也就是真实触感消息 ...
- TCP三次握手和Time-Wait状态
第一次握手:建立连接时.client发送syn包和一个随机序列号seq=x到server,并进入SYN_SEND状态,等待server进行确认. (syn,同 步序列编号). 第二次握手,server ...
- 使用gulp创建ajax模拟请求
概述 之前一直使用gulp构建前端项目,这个基于node流并崇尚“编程而非配置”的工具让我深深的爱上了他.强大的gulp能做到的不仅仅是压缩和合并js.css,它能做到的还有更多.今天我给大家带来使用 ...