sql语句中CASE WHEN THEN ELSE END 常用简单用法
以下仅供参考,如有错误或不当之处还望大神们告知。
case具有两种格式。简单case函数和case搜索函数。
这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。
还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。
史上最简单的例子
- 表结构
- 表格数据
普通简单case函数
SELECT
T.username,
(
CASE T.gender
WHEN '0' THEN
'女'
WHEN '1' THEN
'男'
ELSE
'中性'
END
) '性别'
FROM
sql_test T;
或
SELECT
T.username,
CASE T.gender
WHEN '0' THEN
'女'
WHEN '1' THEN
'男'
ELSE
'中性'
END
'性别'
FROM
sql_test T;
查询结果:
case搜索函数
SELECT
T.username,
(
CASE
WHEN T.gender = '0' THEN
'女'
WHEN T.gender = '1' THEN
'男'
ELSE
'中性'
END
) '性别'
FROM
sql_test T;
或
SELECT
T.username,
CASE
WHEN T.gender = '0' THEN
'女'
WHEN T.gender = '1' THEN
'男'
ELSE
'中性'
END '性别'
FROM
sql_test T;
搜索结果: