今天寫sql的時候,發現PG里有一張表的面積字段竟然設置成字符串類型,這樣就不能統計使用sum函數了,所以需要將字符串轉換成double類型再相加。
select sum(to_number(mj,9999.99)) as amountmj
from table group by area
其中9999.99就是不管是mj字段的值還是amountmj的值不能超過9999.99,且保留兩位小數。
補充:postgresql科學計數法轉浮點或字符串
科學計數法轉浮點
select '2.93985E-6'::double precision
2.93985e-06
展示依然為科學計數形式,可以參與運算沒有問題
科學計數法轉字符串
select '2.93985E-6'::decimal::text
0.00000293985
科學記數法轉浮點-控制精度
-- 控制精度為6位
select ROUND('2.93985E-6'::decimal, 6)
0.000003
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- pgsql之pg_stat_replication的使用詳解
- pgsql 如何刪除仍有活動鏈接的數據庫
- pgsql的UUID生成函數實例
- pgsql 如何手動觸發歸檔
- pgsql 實現用戶自定義表結構信息獲取
- pgsql鎖表后kill進程的操作
- pgsql之create user與create role的區別介紹