Mybatis-MySQL 中使用IFNUL

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; 失效,依然得到一个空记录

原文地址:https://www.cnblogs.com/lemperor/p/15405947.html