【问题标题】:hql query to get last 1 month recordshql查询获取最近1个月的记录
【发布时间】:2014-12-15 05:20:01
【问题描述】:

我需要使用 hql 获取上个月的记录 之前我曾经使用 sql 查询获取记录,但现在我需要获取 1 个月跨度的记录。例如今天的日期是 2014 年 12 月 15 日我想获取之间的记录2014 年 11 月 15 日至 2014 年 12 月 14 日的记录。

这里是Mysql查询:

   SELECT fds.EXISTED_PRODUCT_ID,fds.Product_Name,fds.PRODUCT_CREATED_DATE FROM 
     F_PRODUCT_DATA_STATISTICS fds where fds.CREATED_TS BETWEEN 
SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW()

坦率地说,我不知道如何在 HQl 中编写上述查询。 谁能帮帮我。

【问题讨论】:

    标签: java hibernate hql


    【解决方案1】:

    你可以试试这个,我无法测试,如果你有错误请告诉我;

    String hqlQuery =" SELECT fds.EXISTED_PRODUCT_ID,fds.Product_Name,fds.PRODUCT_CREATED_DATE FROM F_PRODUCT_DATA_STATISTICS fds where fds.CREATED_TS BETWEEN  DATE_SUB(current_date(), INTERVAL 7 DAY) AND current_date()"; 
    query = session.createSQLQuery(hqlQuery);
    

    【讨论】:

    • 感谢您的快速帮助@semih。我在我的应用程序中运行上述查询我在使用 session.createQuery() 时出错,但是当我使用 session.createSQLQuery() 时它获取记录跨度>
    • 很高兴为您提供帮助。我还编辑为 createSQLQuery。您能否将此答案标记为正确,它可能对其他人有所帮助。
    • 嘿@semih 我有一个疑问..如果我使用 createSQLQuery(query) 如果我将 mydatabase 如 Eg:Mysql 更改为像 oracle 或 IBM DB2..等
    • 是的,可以,选择查询,必须使用createSQLQuery()。
    • 这篇文章对你有帮助; stackoverflow.com/questions/8636806/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2017-10-02
    • 2011-03-08
    • 1970-01-01
    • 2018-07-09
    • 2014-03-21
    相关资源
    最近更新 更多