【发布时间】:2020-03-10 05:06:32
【问题描述】:
有一个包含 3 列的表,如下所示:
原始数据如下:
我正在尝试通过汇总能源值将表格转换为每小时数据。我使用了这个命令但是得到了一个错误 => 双精度类型的输入语法无效:“Null”:
SELECT lclid, date_trunc('hour', tstp) AS HOUR, COALESCE(SUM(CAST(energy as double precision))
FROM halfhourly
WHERE energy IS NOT NULL
GROUP BY lclid, HOUR;
我一直在寻找一段时间,但找不到解决方案。请帮忙!
【问题讨论】:
-
您不应该将数字存储在 varchar 列中
-
我尝试将 varchar 转换为数字,但没有成功。从这个主题得到与上述相同的错误。我做了:每半小时 ALTER TABLE ALTER COLUMN energy TYPE numeric USING energy::numeric;
标签: postgresql null sum