1、mysql寫法
IFNULL(p1,p2),如果p1有值就是p1,如果p1是空,則值爲p2
<insert id="insertForeach" parameterType="java.util.List" >
insert into user_message
( skip_id )
values
<foreach collection="list" item="userMessage" index="index" separator=",">
( ifnull(#{userMessage.skipId},"0") )
</foreach>
</insert>
2、postgresql寫法
COALESCE函數是返回參數中的第一個非null的值,它要求參數中至少有一個是非null的,如果參數都是null會報錯
select COALESCE(null,null); //報錯
select COALESCE(null,null,now(),''); //結果會得到當前的時間
select COALESCE(null,null,'',now()); //結果會得到''
//可以和其他函數配合來實現一些複雜點的功能:查詢學生姓名,如果學生名字爲null或''則顯示“姓名爲空”
select case when coalesce(name,'') = '' then '姓名爲空' else name end from student;
問題到此解決。