ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL DAY TO SECOND
这个错误表明某个操作或函数期望得到一个数字(NUMBER)类型的数据,但实际上得到的是一个时间间隔(INTERVAL DAY TO SECOND)类型的数据
原因: Oracle获取两个时间的间隔,一个是系统时间,另一个是TIMESTAMP类型的时间
解决方案:将TIMESTAMP类型的时间转为DATE
SELECT
CABINET_NO,
-- 直接计算分钟数,不四舍五入
round( ( SYSDATE - CAST( PC.LAST_HEART_TIME AS DATE ) ) * 1440, 0 ) AS MINUTES_SINCE_LAST_HEART,
FROM
GPZH_ADM.POWER_CABINET PC