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已经匹配到值的情况下,都会返回不在继续对后续操作进行判断。

  • 相关阅读:
    go基础笔记-程序流程控制
    Linux:Day14(上) Centos系统安装
    Linux:Day14(上)
    Linux:Day13(上) CentOS系统启动流程
    Linux:Day13(下) GRUB
    Linux:Day12(下) 进程、任务计划
    Linux:Day12(上) 进程
    Linux:Day10 程序包管理
    Linux:Day24(下) samba
    Linux:Day8(下) RAID
  • 原文地址:https://www.cnblogs.com/timlinux/p/9105114.html
Copyright © 2011-2022 走看看