mysql-case..when知识点总结

case...when..有两种语法:

第一种:

case  case_value

  when when_value  then statement_list

  [when when_value  then statement_list..]

  else statement_list

end case

说明:

case_value是一个表达式,将该值与when_value的各个子句的表达式进行比较,直到找到一个相等的位置,相等后,执行对应then语句的statement_list

如果不存在when_value等于case_value,那么就执行else后的语句。

例如:

case sex

    when “1” then “男”

    when “2” then “女”

      else “其他”

end

第二种:

case

  when search_condition then statement_list

  [when search_condition then statement_list]...

  [else statement_list]

end 

说明:

对于when的子句search_condition进行是否为真的判断,当为真的时候,执行后面的statement_list。

每个statement都包含一个活多个SQL语句,且不允许为空。

例如:

case

  when sex=“1” then “男”

  when sex=“2” then “女”

  else “其他”

end

转载整理自https://dev.mysql.com/doc/refman/8.0/en/case.html

 

原文地址:https://www.cnblogs.com/fish-101/p/12123330.html