case 有两种使用方法:1.有值判断;2.无值判断
1.有值判断
例子(创建一张the_user表,插入一条数据)
SELECT
(CASE 1 WHEN 1 THEN '第一'
WHEN 2 THEN '第二'
.....
ELSE '最后'
END) d
FROM the_user
解释【
查询 (曾经有一个值为 1 当 我看到这个值是 1 然后我就显示 ‘第一’
当 我看到这个值是 2 然后我就显示‘第二’
可以继续写下去
否则我就显示‘最后’
结束
)自己写的字段名
来自 用户表】
(CASE user_id WHEN 1 THEN '第一'
WHEN 2 THEN '第二'
.....
ELSE '最后'
END) d
FROM the_user
解释【
查询 (曾经有一个值为 1 当 我看到这个值是 1 然后我就显示 ‘第一’
当 我看到这个值是 2 然后我就显示‘第二’
可以继续写下去
结束
否则我就显示最后
)自己写的字段名
来自 用户表】
上面的写法是无值的case,这个值可以是 ”常量“ 也可以是 “表的字段”
2.无值的判断
(CASE WHEN LOCATE('+',SUBSTRING(user_id,1) =1 THEN '第一'
WHEN LOCATE('-',SUBSTRING(user_id),1)=1 THEN '第二'
.....
ELSE '最后'
END) d
FROM the_user
解释【
查询 ( 当 用户id包含加号 然后我就显示 ‘第一’
当 我看到用户id包含减号 然后我就显示‘第二’
可以继续写下去
否则显示 最后
结束
)自己写的字段名
来自 用户表】
解释【
查询 (曾经有一个值为 1 当 我看到这个值是 1 然后我就显示 ‘第一’
当 我看到这个值是 2 然后我就显示‘第二’
可以继续写下去
结束
)自己写的字段名
来自 用户表】