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