Hibernate HQL:是否将日期时间转换为日期?

Hibernate HQL:是否将日期时间转换为日期?,hibernate,datetime,hql,Hibernate,Datetime,Hql,在SELECT查询中,我想将我的DATETIME列转换为日期格式(仅使用年、月和日) 我使用的是DATE构造:DATE(table.column),这很好,但这个构造似乎不适用于SQLSERVER数据库(我以前使用的是MySql) 这就是我遇到的错误: data type for node: org.hibernate.hql.ast.tree.MethodNode +-[METHOD_CALL] MethodNode: '(' | +-[METHOD_NAME] IdentNode: 'DA

在SELECT查询中,我想将我的DATETIME列转换为日期格式(仅使用年、月和日)

我使用的是DATE构造:DATE(table.column),这很好,但这个构造似乎不适用于SQLSERVER数据库(我以前使用的是MySql)

这就是我遇到的错误:

 data type for node: org.hibernate.hql.ast.tree.MethodNode +-[METHOD_CALL] MethodNode: '(' | +-[METHOD_NAME] IdentNode: 'DATE'
有人能帮我修一下吗?我尝试使用CONVERT和CAST,但遇到了相同的错误

以下是查询:

SELECT DATE(al.loginTime) as loginTime, (COUNT(al.hawkUser)) as numeroAccessi, al.hawkUser as hawkUser, al.logoutTime as logoutTime " +
                "FROM AccessLog as al GROUP BY al.hawkUser, DATE(al.loginTime) ORDER BY DATE(al.loginTime) DESC, al.hawkUser DESC 

好的,我多次修改了查询,现在是这样的:

 String query="SELECT "
        + "  al.loginTime as loginTime,"
        + " (COUNT(hu.id)) as numeroAccessi, "
        + " hu.id as hawkUser "
                + "FROM AccessLog as al "
                + " INNER JOIN al.hawkUser hu "
                + " GROUP BY "
                + " al.loginTime,"
                + " hu.id "
                + " ORDER BY "
                + " al.loginTime DESC"
                + " hu.email  ";

loginTime是带有小时、分钟和秒的DATETIME,而我只需要使用年、月和日来重新组合它们(这是一个登录列表)。所以我还是要把DATETIME转换成DATE。我不能使用CAST和CONVERT,因为此查询用于MySql和SQLServer数据库,并且两者的语法不同。

这是投影吗?请添加查询。您似乎正在使用本机sql而不是HQL。数据库中列的格式是什么。是datetime吗?请添加更多详细信息。我添加了完整的查询。请尝试在HQL中使用between的解决方案:我将其视为本机查询,而不是HQL。您是否尝试在数据库中执行查询?u可以用任何值替换变量。如果有效,则查询是正确的,但这是本机查询,而不是HQL。hibernate为您提供了运行本机查询的条件。