Mybatis-MySQL 中使用IFNULL(p1,p2)函数
但是有一些需要注意的地方.
假设数据
title: student
id name age
1 Ann 18
2 Bom 19
3 Hehe
SELECT name,age FROM student WHERE id = 3;
1
此时查询结果就是
name age
hehe
使用IFNULL公式
SELECT name, IFNULL(age,0) FROM student WHERE id = 3;
1
此时查询结果就是
name age
hehe 0
也就是说, 使用IFNULL时, 如果IFNULL(p1,p2), 如果查询得到p1是null, 那么该字段就会被赋值为p2
注意事项
IFNULL只能对部分字段进行替换, 而如果整个结果时空, 那么IFNULL不起作用
SELECT name,age FROM student WHERE id = 4;
1
此时查询得到的整条数据都为null
那么此时 SELECT name, IFNULL(age,0) FROM student WHERE id = 4; 失效,依然得到一个空记录