MySQL IF()
在本节中,我们将学习
IF()函数在MySQL中的工作方式。 IF函数是MySQL控制流函数的一部分,它根据给定的条件返回一个值。换句话说,IF函数用于验证MySQL中的函数。当给定条件的值为真时,IF函数将返回值
YES ;当条件的值为False时,IF函数将返回
NO 值。根据使用该函数的上下文,它以字符串或数字形式返回值。有时,此函数称为
IF-ELSE 和
IF THAN ELSE 函数。
IF函数采用三个表达式,其中第一个表达式为评估。如果第一个表达式的计算结果为true,不是null或不为零,则返回第二个表达式。如果结果为假,则返回第三个表达式。
语法
if ( expression 1, expression 2, expression 3)
参数
参数 |
要求 |
说明 |
Expression1 |
Required |
它是一个值,用于验证。 |
Expression2 |
Optional |
当条件评估为true时,它将返回一个值。 |
Expression3 |
Optional |
当条件评估为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,则返回值
更正,如果条件为false,则返回
错误输出。
输出:
示例3
SELECT IF(STRCMP('Rinky Ponting','Yuvraj Singh')=0, 'Correct', 'Wrong');
上面的示例比较了两个字符串。如果两个字符串相同,则返回
正确。否则,IF函数将返回
错误输出。
输出:
示例4
在这里,我们将创建表'
student '并执行IF函数。
现在,运行以下 MySQL查询。该语句返回学生表的
姓氏,其中,如果
年龄大于20,则返回
成熟。否则,IF函数将返回
未成熟。
SELECT lastname,
IF(age>20,"Mature","Immature")
As Result
FROM student;
输出:
当上述 MySQL 语句运行时成功,它将给出以下输出。