MySQL中IF函数的使用方法

定义

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,会走第二个条件

经验分享 程序员 微信小程序 职场和发展