今天寫sql的時(shí)候,發(fā)現(xiàn)PG里有一張表的面積字段竟然設(shè)置成字符串類型,這樣就不能統(tǒng)計(jì)使用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ù)。
補(bǔ)充:postgresql科學(xué)計(jì)數(shù)法轉(zhuǎn)浮點(diǎn)或字符串
科學(xué)計(jì)數(shù)法轉(zhuǎn)浮點(diǎn)
select '2.93985E-6'::double precision
2.93985e-06
展示依然為科學(xué)計(jì)數(shù)形式,可以參與運(yùn)算沒有問題
科學(xué)計(jì)數(shù)法轉(zhuǎn)字符串
select '2.93985E-6'::decimal::text
0.00000293985
科學(xué)記數(shù)法轉(zhuǎn)浮點(diǎn)-控制精度
-- 控制精度為6位
select ROUND('2.93985E-6'::decimal, 6)
0.000003
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- pgsql之pg_stat_replication的使用詳解
- pgsql 如何刪除仍有活動(dòng)鏈接的數(shù)據(jù)庫(kù)
- pgsql的UUID生成函數(shù)實(shí)例
- pgsql 如何手動(dòng)觸發(fā)歸檔
- pgsql 實(shí)現(xiàn)用戶自定義表結(jié)構(gòu)信息獲取
- pgsql鎖表后kill進(jìn)程的操作
- pgsql之create user與create role的區(qū)別介紹