语法:
简单函数
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END
搜索函数
CASE WHEN [expr] THEN [result1]…ELSE [default] END
区别:
简单函数:当col_name列的值和when后面的value1值相同时返回对应then后面result1值;
搜索函数:当满足when后面的expr条件语句则返回对应then后面的result1值。
例子:
表数据:
id name dept salary edlevel hiredate 1 张三 开发部 2000 3 2009-10-11 2 李四 开发部 2500 3 2009-10-01 3 王五 设计部 2600 5 2010-10-02 4 王六 设计部 2300 4 2010-10-03 5 马七 设计部 2100 4 2010-10-06 6 赵八 销售部 3000 5 2010-10-05 7 钱九 销售部 3100 7 2010-10-07 8 孙十 销售部 3500 7 2010-10-06
edlevel大于5显示为优秀,其它显示为普通,两种写法演示:
SELECT NAME, CASE edlevel WHEN 3 THEN '普通' WHEN 4 THEN '普通' WHEN 5 THEN '普通' WHEN 7 THEN '优秀' END FROM dept;
SELECT NAME, CASE WHEN edlevel > 5 THEN '优秀' ELSE '普通' END FROM dept;
转载请注明:Terry's blog » MySQL case when 使用