定义
IF函数根据条件的结果为true或false,返回第一个值,或第二个值

语法
IF(condition, value_if_true, value_if_false)


参数
参数    描述

condition    必须,判断条件

value_if_true    可选,当条件为true值返回的值

value_if_false    可选,当条件为false值返回的值


例子
当查询表里的性别字段时,用IF函数,将表中存的数字转换成字符串查出来

首先建一个学生表

CREATE TABLE `student` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `nick` VARCHAR(20) NOT NULL,
    `gender` TINYINT(1) NOT NULL,
    PRIMARY KEY (`id`) USING BTREE
)

INSERT INTO student(nick, gender) VALUES ('xiaoming', 1),('xiaohong', 2),('xiaogang', 1)

当我们关联查询时,1显示男生同学,2显示女生同学,这种业务场景下就要使用IF函数查询

例:SELECT id AS '学生id',nick AS '学生昵称',IF(gender = 1,'男','女') AS '性别' FROM student

查询结果为:

学生id   学生昵称   性别

1          xiaoming    男
2          xiaohong    女
3          xiaogang    男

注:第一个字段可以使用各种条件判断,比如>,<,=,<>,甚至还能做运算,如gender+1 = 2这样的判断

如果我们不写任何判断条件,直接写gender字段,那则会通过真假来判断显示,0,'',null均为false,会走第二个条件
 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐