gpt4 book ai didi

sql - to_char函数在Hibernate中引发异常

转载 作者:行者123 更新时间:2023-12-02 14:41:31 55 4
gpt4 key购买 nike

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

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

通过休眠,我得到:

No data type for node: 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

关于sql - to_char函数在Hibernate中引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32911272/

55 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com