微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一年中的HQL?

如何解决一年中的HQL?

| 有什么方法可以从HQL中的日期中提取年份的日期(1-366)?是扩展我需要的方言并显式注册功能的唯一选择吗?我看到Hsql和DB2的方言已经注册,但是Oracle或sql Server却没有运气。 据我所知,唯一可用的标准日期部分函数是year(),month(),day()等,除非我缺少某些东西,否则这些不足以计算DOY ...     

解决方法

据我所知,唯一的解决方案是扩展现有的方言。事实证明这很轻松:
public class SQLServerDialect extends org.hibernate.dialect.SQLServerDialect {    
  public SQLServerDialect() {
    registerFunction( \"dayofyear\",new SQLFunctionTemplate( Hibernate.INTEGER,\"datepart(dayofyear,?1)\" ) );         
  }
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。