功能:将表达式和多个可能的值进行比较,当匹配时返回相应的结果

返回类型:匹配后返回结果的类型

举例:

if(boolean condition, type ifTrue, type ifFalseOrNull)

返回类型:ifTrue表达式结果的类型

举例

  1. +----------------------------------------+
  2. | if(`tiny_column` = 1, 'true', 'false') |
  3. +----------------------------------------+
  4. | true |
  5. +----------------------------------------+
  6. 1 row in set (0.03 sec)

ifnull(type a, type isNull)

功能:测试一个表达式,如果表达式是NULL,则返回第二个参数,否则返回第一个参数。

举例

  1. +------------------+
  2. | ifnull(NULL, 10) |
  3. +------------------+
  4. | 10 |
  5. +------------------+
  6. 1 row in set (0.01 sec)

nullif(expr1,expr2)

功能:如果两个参数相等,则返回NULL。否则返回第一个参数的值。它和以下的CASE WHEN效果一样。

返回类型:expr1的类型或者NULL

  1. +--------------+
  2. | nullif(1, 1) |
  3. +--------------+
  4. | NULL |
  5. +--------------+
  6. 1 row in set (0.00 sec)