MySQL IF函数
在本节中,我们将学习MySQL中IF函数的工作原理。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版本 :
注意: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
``````
### 例子3
```sql
SELECT IF(STRCMP('Rinky Ponting','Yuvraj Singh')=0, 'Correct', 'Wrong');
上面的例子比较了两个字符串。如果两个字符串相同,它返回 Correct 。否则,IF函数返回 Wrong 输出。
输出:
Wrong
例子 4
这里,我们将创建一个表格 ‘ 学生 ‘ 并执行 IF 函数。
现在,运行以下的 MySQL查询 语句。这个语句返回学生表中的 姓 ,如果 年龄 大于20,则返回 成熟 。否则,IF函数返回 不成熟 。
SELECT lastname,
IF(age>20,"Mature","Immature")
As Result
FROM student;
输出:
当上述 MySQL 语句成功运行时,将会输出以下内容。