小小少年QAQ 2023-05-25 18:47 采纳率: 31.6%
浏览 75

人大金仓SQL 错误 [42883]: 错误: 操作符不存在: timestamp without time zone <= time with time zone

    此代码为人大金仓sql:

    SELECT ROUND(CAST(IFNULL((
        SELECT count(*) "online"
        FROM cms_all_status
        WHERE deptid = '4195bacc64614089ba98ff75d2482fbb' AND detecttime BETWEEN (now() - INTERVAL'120 SECOND') AND CURRENT_TIME
    ) / (
        SELECT count(*) total
        FROM cms_all_status
        WHERE deptid = '0214b47ce0f144278d9ac8e5a51c06c9'
    ), 0) AS NUMERIC), 2) online_rate

出现 SQL 错误 [42883]: 错误: 操作符不存在: timestamp without time zone <= time with time zone
  Hint: 没有匹配指定名称和参数类型的操作符. 您也许需要增加明确的类型转换.
  Position: 151 At Line: 5, Line Position: 68

怎么解决

  • 写回答

1条回答 默认 最新

  • 码上团建 2023-05-25 19:17
    关注

    这个错误是因为在比较“timestamp without time zone”类型的值和“time with time zone”类型的值时,PostgreSQL数据库无法找到匹配的操作符,因此它建议您增加明确的类型转换。

    要解决此问题,请使用以下代码在比较前将“timestamp without time zone”类型的值转换为“time with time zone”类型:

    SELECT ROUND(
        CAST(
            IFNULL(
                (
                    SELECT COUNT(*) "online" 
                    FROM cms_all_status 
                    WHERE deptid = '4195bacc64614089ba98ff75d2482fbb' 
                    AND detecttime BETWEEN (NOW() - INTERVAL '120 SECOND') AND CURRENT_TIME::time
                ) / (
                    SELECT COUNT(*) total 
                    FROM cms_all_status 
                    WHERE deptid = '0214b47ce0f144278d9ac8e5a51c06c9'
                ), 0
            ) as NUMERIC
        ), 2
    ) online_rate;
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 5月25日

悬赏问题

  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf
  • ¥15 openFOAM DPMFoam
  • ¥15 将查询到的值,赋值到table指定行中