日期:2014-05-20  浏览次数:20785 次

hql语句问题!
在做一个小程序,涉及到用hql语句算出结果。
在DAO层写一个方法,传了个(Type,Calendar)前一个参数是代表日,月,季,年的常量参数,后一个参数是一个日历。
小弟现在想用hql语句算出在当天,或者本月,数据库中一列的常量的和。
例如,表名:Location 列名:price 日期:date
现在小弟想查询出location中日期为当天的price的和。
请帮帮忙。

------解决方案--------------------
select sum(price) from location where date = getdate()

何不用sql语句直接去写,session.createSQLQuery();









------解决方案--------------------
日:
SELECT SUM(L.PRICE) FROM Location L WHERE TO_CHAR(L.DATE,'dd')=TO_CHAR(SYSDATE,'dd')

月:
SELECT SUM(L.PRICE) FROM Location L WHERE TO_CHAR(L.DATE,'MM')=TO_CHAR(SYSDATE,'MM')


SELECT SUM(L.PRICE) FROM Location L WHERE TO_CHAR(L.DATE,'yy')=TO_CHAR(SYSDATE,'yy')

小時
SELECT SUM(L.PRICE) FROM Location L WHERE TO_CHAR(L.DATE,'hh')=TO_CHAR(SYSDATE,'hh')

分鐘
SELECT SUM(L.PRICE) FROM Location L WHERE TO_CHAR(L.DATE,'mm')=TO_CHAR(SYSDATE,'mm')


SELECT SUM(L.PRICE) FROM Location L WHERE TO_CHAR(L.DATE,'ss')=TO_CHAR(SYSDATE,'ss')

毫秒寫不來~