菜鸟笔记
提升您的技术认知

MySQL中if()函数详解

一.if()函数介绍


在MySQL的官方文档中,将if()列为控制流功能之一,网上看了很多翻译,大家还是习惯上称为if()函数。根据官方文档,我们可以看出if()函数实现了if/else结构,大家可以把它和java中的三目运算来做类比,然后记忆。

二.if()函数的语法

1. 表达式

IF(expr1,expr2,expr3)

如果expr1是TRUE (expr1 <> 0和expr1 <> NULL),则IF() 返回expr2。否则,它返回expr3。

2.返回类型

默认返回类型IF() (在存储到临时表时可能很重要)计算如下:

  • 如果expr2或 expr3生成一个字符串,结果是一个字符串。
  • 如果expr2和 expr3都是字符串,则如果任一字符串区分大小写,则结果区分大小写。
  • 如果expr2或 expr3生成浮点值,则结果为浮点值。
  • 如果expr2或 expr3生成整数,则结果为整数。

三.if()函数的使用

mysql> SELECT IF(1>2,2,3);
        -> 3
mysql> SELECT IF(1<2,'yes','no');
        -> 'yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
        -> 'no'