MySQL IF()

2025年3月17日 | 阅读 3 分钟

在本节中,我们将学习 MySQL 中的 IF() 函数是如何工作的。IF 函数是 MySQL 控制流函数的一部分,它根据给定的条件返回一个值。换句话说,IF 函数用于验证 MySQL 中的函数。当给定条件评估为真时,IF 函数返回一个值 YES,当条件评估为假时,返回 NO 值。它根据函数使用的上下文,以字符串或数字形式返回。有时,此函数也称为 IF-ELSEIF THEN ELSE 函数。

IF 函数接受三个表达式,其中将评估第一个表达式。如果第一个表达式评估为真、非 NULL 且非零,则返回第二个表达式。如果结果为假,则返回第三个表达式。

语法

参数

参数要求描述
表达式 1必需它是一个用于验证的值。
表达式 2可选当条件求值为真时,它返回一个值。
表达式 3可选当条件求值为假时,它返回一个值。

默认返回类型

IF 函数的返回类型可以计算如下:

  • 如果表达式 2 或表达式 3 都是字符串或产生字符串,则结果始终是字符串。
  • 如果表达式 2 或表达式 3 给出一个浮点值,则结果始终是浮点值。
  • 如果表达式 2 或表达式 3 是整数,则结果始终是整数。

MySQL 版本支持

IF 函数支持以下 MySQL 版本

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

注意:IF 函数与 IF 语句不同。因此,请勿混淆 IF 函数和 IF 语句。

让我们通过以下示例来理解 MySQL IF 函数。我们可以直接将 IF 函数与 SELECT 语句一起使用。

示例 1

在上面的函数中,(200>350) 是一个要评估的条件。如果条件为真,则返回 YES 值,如果条件为假,则返回 NO

输出

NO

示例 2

在上面的函数中,(251 = 251) 是一个要评估的条件。如果条件为真,则返回 Correct 值,如果条件为假,则返回 Wrong 输出。

输出

Correct

示例 3

上面的示例比较了两个字符串。如果两个字符串相同,则返回 Correct。否则,IF 函数返回 Wrong 输出。

输出

Wrong

示例 4

在这里,我们将创建一个名为 'student' 的表并执行 IF 函数。

MySQL IF

现在,运行以下 MySQL 查询。此语句返回 student 表的 last name,其中,如果 age 大于 20,则返回 Mature。否则,IF 函数返回 Immature

输出

当上述 MySQL 语句成功运行时,它将产生以下输出。

MySQL IF
下一主题MySQL IFNULL()