SQL中case when then else end用法

一、简单用法

case具有两种格式。简单case函数和case搜索函数。

简单case函数

SELECT
    s.s_id,
    s.s_name,
    s.s_sex,
    CASE
WHEN s.s_sex = '1' THEN '男'
WHEN s.s_sex = '2' THEN '女'
ELSE '其他'
END as sex,
 s.s_age,
 s.class_id
FROM
    t_b_student s
WHERE
1 = 1

case搜索函数 

SELECT
    s.s_id,
    s.s_name,
    s.s_sex,
    CASE s.s_sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END as sex,
 s.s_age,
 s.class_id
FROM
    t_b_student s
WHERE
1 = 1

这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,需要在case关键字后面加上需要匹配的属性字段,功能方面会有些限制,比如写判定式。 

还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。 

猜你喜欢

转载自blog.csdn.net/qq_37141773/article/details/84070115
今日推荐