今天写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的区别介绍