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

人大金仓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日

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题