jpql查询中的date_trunc函数

问题描述

我真的很喜欢JPQL中的date_trunc功能

我的查询是:

@Query("SELECT c.name AS name,SUM(c.salary) AS salary FROM SalaryTable AS c GROUP BY c.name,date_trunc('year' c.savedtimestamp)") 

我得到了例外:

的'date_trunc'和'(''year'c.savedtimestamp)'用逗号分隔。\ n [197,203]标识变量“ year”未遵循Java标识符的规则。“,” \ tat org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:157)“,” \“ tat org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser .java:336)“,” \ tat org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:280)“,” \ tat

您能在这方面帮助我吗?

关于, 斯蒂芬

解决方法

应该是:

date_trunc('year',c.savedtimestamp)

请注意错误消息中的','”

has 'date_trunc' and '('year' c.savedtimestamp)' that are not separated by a comma