定义
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学生昵称 性别
1xiaoming 男
2xiaohong 女
3xiaogang 男
注:第一个字段可以使用各种条件判断,比如>,<,=,<>,甚至还能做运算,如gender+1 = 2这样的判断
如果我们不写任何判断条件,直接写gender字段,那则会通过真假来判断显示,0,'',null均为false,会走第二个条件