如何让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)