You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL语法错误排查:Spring Boot Repository@Query语句报错

问题定位与解决方案

针对你遇到的PostgreSQL语法错误ERROR: syntax error at or near ")",可以从以下几个方向排查和修复:

1. 修正JSONB字段转换的语法写法

你的查询中使用了多层CAST处理JSONB字段,可能存在解析歧义。将CAST(jsonb_extract_path(CAST(at2.new_data AS jsonb), 'kindikator') AS INT)替换为PostgreSQL原生的JSONB操作语法,更简洁且不易出错:

(at2.new_data->>'kindikator')::INTEGER

修改后的LEFT JOIN条件:

LEFT JOIN audit_trail at2 ON (at2.new_data->>'kindikator')::INTEGER = i.kindikator AND at2.kmenu = 65

2. 完善子查询ci的关联条件

当前子查询ci的GROUP BY包含u.kuk和i.kdjab,但关联时只匹配了kdjab,这会导致不同unit下相同jabatan的数据错误关联,同时也可能引发语法解析的隐性问题。需要补充kuk的匹配条件:

LEFT JOIN (
  -- 子查询原有内容不变
) AS ci ON ci.kdjab = i.kdjab AND ci.kuk = u.kuk

3. 直接在数据库中测试SQL

将查询中的参数替换为具体值(比如:unitKerja替换为'',:isActive替换为NULL),直接在PostgreSQL控制台或pgAdmin中运行,数据库会给出精确的错误行号,快速定位语法问题。


内容的提问来源于stack exchange,提问作者tito setiawan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:07:05