Hibernate中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
相關文章
相關標籤/搜索