时间:2021-10-31 08:46:30 | 栏目:PostgreSQL | 点击:次
今天写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