繁体   English   中英

to_char函数在Hibernate中引发异常

[英]to_char function throws exception with Hibernate

我正在尝试在grails域对象上执行sql语句。 直接在db(h2)上执行时,工作正常。

Call.executeQuery "select to_char(date,'DD') from Call"

通过休眠,我得到:

没有节点的数据类型:org.hibernate.hql.internal.ast.tree.MethodNode-[METHOD_CALL] MethodNode:'('+-[METHOD_NAME] IdentNode:'to_char'{originalText = to_char}-[EXPR_LIST] SqlNode:' exprList'+-[DOT] DotNode:'call0_.date'{propertyName = date,dereferenceType = PRIMITIVE,getPropertyPath = date,path = {synthetic-alias} .date,tableAlias = call0_,className = com.olamagic.Call,classAlias = null} | +-[IDENT] IdentNode:'{synthetic-alias}'{originalText = {synthetic-alias}} |-[[IDENT] IdentNode:'date'{originalText = date}-[QUOTED_STRING] LiteralNode:” DD'

在H2上直接执行SQL语句时,您正在执行H2的SQL。 GormEntity.executeQuery(String sql)方法执行HQL,而不是SQL。

HQL没有to_char()函数。 因此,获得同等结果将涉及更多:

select case when day(date) > 9 then cast(day(date) as text) else concat('0', day(date)) end from Call

如果您不介意以整型作为一天,那么查询将简化为:

select day(date) from Call

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM