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

發佈了32 篇原創文章 · 獲贊 12 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章