postgresql如果查詢出的數據為空,則設為0的方法(PGSQL實現判斷一個空值字段,並將NULL值修改為其它值)


使用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

如果需要將空值設置為其它值:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM