db2 字符串轉換 數字


今天使用聚合函數的時候 發現 varchar類型的是不可用的,所以呢就開始想辦法解決

用到了轉換函數cast(s.score as bigint) 然后有一個問題就是如果數據為空的話就會發生轉換錯誤。這個時候又需要用到另一個函數判斷是否為空。

COALESCE(s.score, '0')   這個函數是用來判斷是否為空的。 coalesce前面的參數是所在的列,后面的參數是所在列如果為空的話那么就轉換為后一個參數

因為是字符串類型 所以 0必須加上'' ,這樣才不會類型轉換錯誤。 另外就是數據庫的內容需要是(null) 這樣才不會報錯  。。如果是直接空的話會報錯。這個問題我也不了解是為啥了。。。下次遇到好好找找問題原因!最終sql就暫時這么寫了 。用就是這么用的。

select avg(cast(COALESCE(s.score, '0') as bigint))  from student s

 


免責聲明!

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



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