如何在Java中使用PostgreSQL的MIN()函数?解决字段名报错问题
解决PostgreSQL MIN()函数查询结果列名不匹配问题
你的问题根源在于:PostgreSQL对聚合函数MIN()的结果会默认使用min作为列名,但你的Java代码在处理查询结果时,试图读取名为employee_salary的列,两者不匹配导致报错。
最直接的解决方法是修改SQL语句,给聚合函数的结果指定别名,让别名和代码期望的列名一致:
databaseClient.sql("Select MIN(employee_salary) as employee_salary " + "from " + schema + ".employee_instances where employee_id =:employeeId")
添加as employee_salary后,查询结果的列名就会变成employee_salary,和代码中预期的字段名匹配,错误即可解决。
另外一种可选方案是调整Java代码的结果映射逻辑,直接读取默认的min列名,但这种方式不如修改SQL别名直观,也不利于代码的可读性。
内容的提问来源于stack exchange,提问作者developer
相关产品推荐
相关产品推荐

