使用 postgreSQL 计算属性(不带时区的时间戳)的总小时数

使用 postgreSQL 计算属性(不带时区的时间戳)的总小时数

当我尝试总结以下列时,我编写了以下 SQL 查询,但出现了错误并且无法执行。有什么想法吗?

SELECT
NUMTODSINTERVAL(SUM((TO_NUMBER(SUBSTR(sensor.datedahour,1,2))*3600)+(TO_NUMBER(SUBSTR(sensor.datedahour,4,2))*60)+TO_NUMBER(SUBSTR(sensor.datedahour,7,2))), 'second')
FROM SENSORMINING.ra_fact_5min As sensor

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

答案1

substr您需要使用extractdate_part以及时间戳和要提取的字段名称(例如“小时”或“天”)来代替。

to_number由于这些函数生成的是数字而不是字符串,因此不需要调用结果。

请参阅文档 https://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT

相关内容