hibernate查询的时间段选择查询的hql语句总结

       在进行hql语句查询的时候,由于是面向对象的查询语句,所以与sql+jdbc有所不同。

在数据库中,我的报警字段alarmtime是字符串的类型,直接用字符串类型来查询一段时间内的数据显然不行,所以我一开始想的就是将

字符串转换为时间类型。在sql中:
mysql>  select alarm_grade , alarm_time from tb_sys_alarm_info where alarm_grade
=1 and date_format(alarm_time,'%Y-%m-%d %h:%i:%s') <now();

可以得到结果。(我用的是mysql)

但用hql查询的时候却报错了。说不能解析我的sql语句,后来才明白,date_format();函数是将一个字符串转换为时间类型,所以第一个参数必须加上‘’。

查询的条件变为:"select * from Sdingalrm where alarmGrade=3 and date_format(alarmTime,'%Y-%m-%d %h:%i:%s') between date_format('"+time1+"','%Y-%m-%d %h:%i:%s') and date_format('"+time2+"','%Y-%m-%d %h:%i:%s')",其中time1和time2是页面选择的时间。

如此,查询成功!!

附:个人qq空间:http://user.qzone.qq.com/449125551/profile/sync#!app=2&via=QZ.HashRefresh&pos=1384014434

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值