在查询不同人的票数时,为了方便计数我们会用正字来表示有五票的结果,最后把正的个数和一些不完整的笔画转化成票数。在我们近期学习的数据库mysql中,我们进行判断的条件转化用case就可以实现。当然我们之前还讲了另一个判断函数if,下面就case函数给大家带来讲解,小伙伴们学习时可以体会二者的不同判断区别。
case条件判断
关于case语句,不仅仅在存储过程中可以使用,MySQL基础查询语句中也有用到过。相当于是Java中的switch语句。
语法:# 语法一
CASE case_value
WHEN when_value THEN 结果
[WHEN when_value THEN 结果] ...
[ELSE 结果]
END CASE
# 语法二(推荐语法)
CASE
WHEN 条件判断 THEN 结果
[WHEN 条件判断 THEN 结果] ...
[ELSE 结果]
END CASE
场景:在score表中,sex为1表示男性,sex=0表示女性,查询时转换成汉字显示。
SQL:SELECT name,(CASE sex WHEN 0 THEN '女' ELSE '男' END) sex FROM score
结果:
通过上面的例子我们会发现,case不是直接判断出结果,而是在1表示男,0表示女的判断过程中做了转化,最后才输出结果。这点和if有很大的不同,觉得有意思的小伙伴快学起来吧。