zoukankan      html  css  js  c++  java
  • [TimLinux] MySQL 中的CASE/WHEN语法

    1. 介绍章节

    MySQL 5.7-en.a4.pdf文档的第12章:Functions and Operators中的12.4Control Flow Functions介绍了流控制操作符:CASE、if()、IFNULL()、NULLIF()。

    2. 语法

    CASE value

      WHEN [compare_value] THEN result

      [WHEN [compare_value] THEN result ...]

      [ELSE result]

    END [AS COL_NAME]

    CASE 

      WHEN [condition] THEN result

      [WHEN [condition] THEN result ...]

      [ELSE result]

    END [AS COL_NAME]

    其中[AS COL_NAME]是我自己加上去的,取出的结果是一行中的COL_NAME字段的值。

    第一种语法,只是简单的判断value对应相等的compre_value的值,与编程语言中的switch (value) case value1:... case value2: 有些相似,只是进行value=compare_value的判断,找到了就返回THEN后的result值,都没有找到则取else后的result值,如果else语句不存在,则返回NULL值。

    第二种语法,则进行的是condition语句的判断操作,能够支持的比较操作符丰富多样,执行的方式与第一种语法一样。

    注意:两种语法,在第一个when已经匹配到值的情况下,都会返回不在继续对后续操作进行判断。

  • 相关阅读:
    light oj 1105 规律
    light oj 1071 dp(吃金币升级版)
    light oj 1084 线性dp
    light oj 1079 01背包
    light oj 1068 数位dp
    light oj 1219 树上贪心
    light oj 1057 状压dp TSP
    light oj 1037 状压dp
    矩阵快速幂3 k*n铺方格
    矩阵快速幂2 3*n铺方格
  • 原文地址:https://www.cnblogs.com/timlinux/p/9105114.html
Copyright © 2011-2022 走看看