HQL函數彙總

Criteria查詢對查詢條件進行了面向對象封裝,符合編程人員的思維方式,不過HQL(Hibernate Query Language)查詢提供了更加豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立爲官方推薦的標準查詢方式,HQL查詢在涵蓋Criteria查詢的所有功能的前提下,提供了類似標準SQL語句的查詢方式,同時也提供了更加面向對象的封裝。以下就是HQL的一些常用函數,有了這些函數,我們就可以擁有更多的靈活性,比如HQL如何取餘,HQL如何返回集合的最值,HQL字符串處理,HQL時間、日期處理等。

函數名稱

說明 類型 支持 使用方法 備註
ABS(n) 取絕對值 數學函數 JPAQL HQL ABS(column_name[數字類型對象屬性])  
SQRT(n) 取平方根 數學函數 JPAQL HQL SQRT(column_name[數字類型對象屬性])  
MOD(x,y) 取餘數 數學函數 JPAQL HQL MOD([對象屬性(數字)或值],[對象屬性(數字)或值]) 數字必須是整型,返回參數1/參數2得的餘數
SIZE(c) 方法集合內對象數量 集合函數 JPAQL HQL    
MINELEMENT(c) 返回集合中最小元素 集合函數 HQL    
MAXELEMENT(c) 返回集合中最大元素 集合函數 HQL    
MININDEX(c) 返回索引集合最小索引 集合函數 HQL    
MAXINDEX(c) 返回索引集合最大索引 集合函數 HQL    
MAX(n) 返回最大值 集合函數 JPQHQL HQL    
MIN(n) 返回最小值 集合函數 JPQHQL HQL    
COUNT(n) 返回計數 集合函數 JPQHQL HQL    
CONCAT(s1,s2) 連接連個字符串 字符串函數 JPQHQL HQL CONCAT([對象屬性],[對象屬性])  
SUBSTRING(s,offset,length) 返回子串 字符串函數 JPQHQL HQL SUBSTRING([要截取的字符串屬性字段],開始位置,截取長度)  
TRIM([[BOTH/LEADING/TRAILING]] char FROM s) 默認去掉字符串兩面的空格 字符串函數 JPQHQL HQL TRIM([字符串對象屬性列]) 將字段兩端的空格去掉
LOWER(s) 小寫 字符串函數 JPQHQL HQL LOWER([字符串對象屬性列]) 將該列結果含有的字母全部大寫
UPPER(s) 大寫 字符串函數 JPQHQL HQL UPPER([字符串對象屬性列]) 將該列結果含有的字母全部大寫 
LENGTH(s) 返回字符串長度 字符串函數 JPQHQL HQL LENGTH(字段名) 返回字段內容的長度,包括數字。null值返回null.
CURRENT_DATE() 返回數據庫當前日期 時間函數 JPAQL HQL CURRENT_DATE() 返回數據庫當前日期
CURRENT_TIME() 時間 時間函數 JPAQL HQL CURRENT_TIME() 返回數據庫當前時間
SECOND(d) 從日期中提取具體秒 時間函數 HQL SECOND(時間字段) 空的時候返回null
MINUTE(d) 從日期中提取具體分 時間函數 HQL MINUTE(時間字段) 空的時候返回null
HOUR(d) 從日期中提取具體小時 時間函數 HQL HOUR(時間字段 空的時候返回null
DAY(d) 從日期中提取具體天 時間函數 HQL DAY(時間字段) 空的時候返回null
MONTH(d) 從日期中提取具體月 時間函數 HQL MONTH(時間字段) 空的時候返回null
YEAR(d) 從日期中提取具體年 時間函數 HQL YEAR(時間字段) 空的時候返回null
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章