在本节中,我们将学习IF() 函数在 MySQL 中的工作原理。IF 函数是 MySQL 控制流函数的一部分,它根据给定的条件返回一个值。换句话说, IF 函数用于验证MySQL 中的函数。IF 函数在给定条件计算结果为真时返回值YES,当条件计算结果为假时返回值NO。它以字符串或数字形式返回值,具体取决于使用此函数的上下文。有时,此函数称为IF-ELSE和IF THAN ELSE函数。
IF 函数采用三个表达式,其中将计算第一个表达式。如果第一个表达式的计算结果为真、非空且非零,则返回第二个表达式。如果结果为假,则返回第三个表达式。
句法
IF ( expression 1, expression 2, expression 3)
范围
范围 | 要求 | 说明 |
---|---|---|
Expression 1 | 必需的 | 它是一个值,用于验证。 |
Expression 2 | 可选的 | 当条件评估为真时,它返回一个值。 |
Expression 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 函数。我们可以直接在 SELECT 语句中使用 IF 函数。
示例 1
SELECT IF(200>350,'YES','NO');
在上面的函数中,(200>350) 是一个条件,它被评估。如果条件为真,则返回一个值YES,如果条件为假,则返回NO。
输出:
No
示例 2
SELECT IF(251 = 251,' Correct','Wrong');
在上面的函数中,(251 = 251) 是一个条件,它被评估。如果条件为真,则返回值Correct,如果条件为假,则返回Wrong输出。
输出:
Correct
示例 3
SELECT IF(STRCMP('Rinky Ponting','Yuvraj Singh')=0, 'Correct', 'Wrong');
上面的例子比较了两个字符串。如果两个字符串相同,则返回Correct。否则,IF 函数返回错误的输出。
输出:
Wrong
示例 4
在这里,我们将创建一个表 ' student ' 并执行 IF 函数。
现在,运行以下MySQL 查询。此语句返回学生表的姓氏,其中,如果年龄大于 20,则返回Mature。否则,IF 函数返回Immature。
SELECT lastname,
IF(age>20,"Mature","Immature")
As Result
FROM student;
输出:
当上面的MySQL语句成功运行时,它会给出以下输出。