1. CASE()

1)说明:判断操作.

2)语法:

  i. CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result …] [ELSE result] END

    当value=compare_value时,返回result。

  ii. CASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END

    当第一个条件是满足的时候,返回result。

两者在都没有可满足的result时,返回的结果时ELSE语句后的结果,如果没有ELSE语句,则返回NULL.

3)实例:
mysql 控制流函数

4) Note:
case表达式的返回类型是所有返回值的兼容聚合类型,而且取决于使用它的上下文。如果在上下文中使用字符串,结果将返回为字符串。如果在上下文中使用数字,结果返回为十进制、实数或整数值。

2. IF()

1)说明:if/else 结构.

2)语法:

   IF(expr1,expr2,expr3)

    当expr1为true(expr1<>0 并且 expr1 <> NULL),if()返回结果为expr2,否则返回expr3。IF()返回的结果是数字还是字符串,取决于上下文中的使用。

3)实例:
mysql 控制流函数

4) Note:
如果expr2或expr3中只有一个为NULL,那么IF()函数的结果类型为不是NULL的那一个表达式。

3. IFNULL()

1)说明:NULL if/else 结构.

2)语法:

   IFNULL(expr1,expr2)

    如果expr1不是NULL,则结果返回expr1,否则返回expr2。IFNULL()返回的结果是数字还是字符串,取决于上下文中的使用。

3)实例:
mysql 控制流函数

4. NULLIF()

1)说明:如果expr1等于expr2,则返回NULL.

2)语法:

   NULLIF(expr1,expr2)

    如果expr1等于expr2,则结果返回NULL,否则返回expr1,和CASE WHEN expr1=expr2 THEN NULL ELSE expr1 END 相同。

3)实例:
mysql 控制流函数

相关文章:

  • 2022-12-23
  • 2022-03-08
  • 2022-01-21
  • 2021-10-07
  • 2022-12-23
  • 2021-06-10
  • 2021-08-21
  • 2022-12-23
猜你喜欢
  • 2021-04-02
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2021-10-14
相关资源
相似解决方案