使用COALESCE函數
函數詳解:
COALESCE()函數
主流數據庫系統都支持COALESCE()函數,這個函數主要用來進行空值處理,其參數格式如下:
COALESCE ( expression,value1,value2……,valuen)
COALESCE()函數的第一個參數expression為待檢測的表達式,而其后的參數個數不定。
COALESCE()函數將會返回包括expression在內的所有參數中的第一個非空表達式。
如果expression不為空值則返回expression;否則判斷value1是否是空值,
如果value1不為空值則返回value1;否則判斷value2是否是空值,
如果value2不為空值則返回value2;……以此類推,
如果所有的表達式都為空值,則返回NULL。
select COALESCE(表.字段, 0) as 別名from 表 別名
當在使用過程中出現報錯,可能是字段不匹配,看一下字段是什么類型的,字段類型轉換錯誤,例如下方報錯信息

注意看圖片中的 COALESCE(a.floor_num, 0) as floor_num
檢查后發現時字段類型轉義錯誤,floor_num是varchar類型,需要加上引號,修改后變為COALESCE(a.floor_num, ‘0’) as floor_num
再次查詢就可以了。
在使用pgsql時,想要取到某些字段不為空或者為空的數據,可以用以下方法

如果字段是類型是字符串,用 id=''可以;如果是int型則用 ISNULL
如果需要將空值設置為其它值:

