PGSQL 實現把字符串轉換成double類型(to_number())
今天寫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
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- python保存兩位小數的多種方法匯總
- orcale中的to_number方法使用
- 淺談PostgreSQL和SQLServer的一些差異
- 深入講解數據庫中Decimal類型的使用以及實現方法
- python中decimal模塊的用法