📜  MySQL IF()

📅  最后修改于: 2020-11-17 05:27:29             🧑  作者: Mango

MySQL IF()

在本节中,我们将学习IF()函数在MySQL中的工作方式。 IF函数是MySQL控制流函数,该函数根据给定的条件返回一个值。换句话说,IF函数用于验证MySQL中的函数。当给定条件的值为真时,IF函数将返回“是”,而当条件的值为“假”时,IF函数将返回“否”值。根据使用该函数的上下文,它以字符串或数字形式返回值。有时,此函数称为IF-ELSE和IF THAN ELSE函数。

IF函数采用三个表达式,其中第一个表达式将被求值。如果第一个表达式的计算结果为true,而不是null,也不为零,则返回第二个表达式。如果结果为假,则返回第三个表达式。

句法

IF ( expression 1, expression 2, expression 3)

参数

Parameter Requirement Descriptions
Expression 1 Required It is a value, which is used for validation.
Expression 2 Optional It returns a value when the condition evaluates to true.
Expression 3 Optional It returns a value when the condition evaluates to false.

默认返回类型

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

SELECT IF(200>350,'YES','NO');

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

输出:

例子2

SELECT IF(251 = 251,' Correct','Wrong');

在上述函数,(251 = 251)是要评估的条件。如果条件为true,则返回值Correct,如果条件为false,则返回错误输出。

输出:

例子3

SELECT IF(STRCMP('Rinky Ponting','Yuvraj Singh')=0, 'Correct', 'Wrong');

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

输出:

例子4

在这里,我们将创建一个表“ student”并执行IF函数。

现在,运行以下MySQL查询。该语句返回学生表的姓氏,如果年龄大于20,则返回成熟表。否则,IF函数将返回Immature。

SELECT lastname,
IF(age>20,"Mature","Immature")  
As Result
FROM student;

输出:

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