MySQL中的‘switch'用法

如何让mysql可以和java中的switch一样,选择性的判断?

方法1:
mysql> select id,name,(CASE gender WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '其他' END) as '性别' from jxust_user;
这个就是类似于java中的switch语句


方法2:
mysql> select id,name,(CASE WHEN gender=1 THEN '男' WHEN gender=2 THEN '女' ELSE '其他' END) as '性别' from jxust_user;



原始效果:
mysql> select id,name, gender as '性别' from jxust_user;
+----+-----------------+--------+
| id | name            | 性别   |
+----+-----------------+--------+
| 12 | xxx             | NULL   |
| 13 | xxx             | NULL   |
| 18 | 小红花          | 2      |
| 20 | 超级管理员      | NULL   |
| 21 | zs              | 1      |
+----+-----------------+--------+
5 rows in set (0.00 sec)


使用了方法1以后的效果:
mysql> select id,name,(CASE gender WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '其他'
 END) as '性别' from jxust_user;
+----+-----------------+--------+
| id | name            | 性别   |
+----+-----------------+--------+
| 12 | xxx             | 其他   |
| 13 | xxx             | 其他   |
| 18 | 小红花          | 女     |
| 20 | 超级管理员      | 其他   |
| 21 | zs              | 男     |
+----+-----------------+--------+
5 rows in set (0.01 sec)


使用了方法2以后的效果:
mysql> select id,name,(CASE WHEN gender=1 THEN '男' WHEN gender=2 THEN '女' ELSE
 '其他' END) as '性别' from jxust_user;
+----+-----------------+--------+
| id | name            | 性别   |
+----+-----------------+--------+
| 12 | xxx             | 其他   |
| 13 | xxx             | 其他   |
| 18 | 小红花          | 女     |
| 20 | 超级管理员      | 其他   |
| 21 | zs              | 男     |
+----+-----------------+--------+
5 rows in set (0.01 sec)

猜你喜欢

转载自1124117571.iteye.com/blog/2291275