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;
此时查询结果就是

name age
hehe

 


使用IFNULL公式
SELECT name, IFNULL(age,0) FROM student WHERE id = 3;
此时查询结果就是

name age
hehe 0

 


也就是说, 使用IFNULL时, 如果IFNULL(p1,p2), 如果查询得到p1是null, 那么该字段就会被赋值为p2

 

 

注意事项
IFNULL只能对部分字段进行替换, 而如果整个结果时空, 那么IFNULL不起作用

SELECT name,age FROM student WHERE id = 4;
此时查询得到的整条数据都为null

那么此时 SELECT name, IFNULL(age,0) FROM student WHERE id = 4; 失效,依然得到一个空记录

posted @ 2021-10-14 11:34  翘中之楚  阅读(712)  评论(0编辑  收藏  举报