不朽
不朽
发布于 2024-06-20 / 12 阅读
0
0

hql-函数

HQL SQL支持的函数

HQL(Hibernate Query Language)作为Hibernate框架中用于面向对象查询的一种语言,它支持一系列的函数来处理查询中的数据操作。以下是一些HQL中常见的函数分类及其示例:

数学函数

ABS(n): 返回n的绝对值 
SQRT(n): 返回n的平方根。
MOD(x, y): 返回x除以y的余数。
字符串函数
CONCAT(str1, str2): 连接两个字符串。
CONCAT_WS(separator, str1, str2, ...): 使用指定分隔符连接多个字符串。
SUBSTRING(str, start, length): 从str中提取子字符串,从start位置开始,长度为length。
TRIM(str): 去除str两端的空白字符。
LOWER(str): 将str转换为小写。
UPPER(str): 将str转换为大写。
日期和时间函数
CURRENT_DATE: 返回当前日期。
CURRENT_TIME: 返回当前时间。
CURRENT_TIMESTAMP: 返回当前日期和时间。
YEAR(date): 返回date的年份部分。
MONTH(date): 返回date的月份部分。
DAY(date): 返回date的日期部分。
HOUR(time): 返回time的小时部分。
MINUTE(time): 返回time的分钟部分。
SECOND(time): 返回time的秒部分。

聚合函数

COUNT(expression): 计算expression的数量。
SUM(expression): 计算expression的总和。
AVG(expression): 计算expression的平均值。
MAX(expression): 返回expression的最大值。
MIN(expression): 返回expression的最小值。

条件函数

COALESCE(expr1, expr2, ..., exprN): 返回第一个非空的expr。
NULLIF(expr1, expr2): 如果expr1和expr2相等,则返回NULL,否则返回expr1。

窗口函数(Over Clause)

OVER (partition by column order by column): 用于定义窗口范围,常与聚合函数结合使用,如 ROW_NUMBER() OVER ..., RANK() OVER ..., LEAD(column, offset) OVER ..., LAG(column, offset) OVER ... 等。

请注意,具体支持的函数可能根据Hibernate版本的不同而有所差异,且上述列表并不全面。在实际应用中,建议参考Hibernate官方文档或使用IDE的自动完成功能来获取最准确的信息。


评论