package org.example.join.domain; import org.example.join.sql.SqlConstant; /** * SQL 函数。 */ public class QueryMethod { /** * 绝对值 */ public static QueryColumnFunction abs(Object obj) { return new QueryColumnFunction(SqlConstant.ABS, obj); } /** * 平均值 */ public static QueryColumnFunction avg(Object obj) { return new QueryColumnFunction(SqlConstant.AVG, obj); } /** * 数量 */ public static QueryColumnFunction count(Object obj) { return new QueryColumnFunction(SqlConstant.COUNT, obj); } /** * 将字符串 s1,s2 等多个字符串合并为一个字符串。 */ public static QueryColumnFunction concat(Object... objs) { return new QueryColumnFunction(SqlConstant.CONCAT, objs); } /** * 计算两个时间相差天数 */ public static QueryColumnFunction dateDiff(Object obj1, Object obj2) { return new QueryColumnFunction(SqlConstant.DATEDIFF, obj1, obj2); } /** * 日期格式 */ public static QueryColumnFunction dateFormat(Object obj1, Object obj2) { return new QueryColumnFunction(SqlConstant.DATE_FORMAT, obj1, obj2); } /** * 判断处理 */ public static QueryColumnFunction _if(Object obj1, Object obj2, Object obj3) { return new QueryColumnFunction(SqlConstant.IF, obj1, obj2, obj3); } /** * 判断值是否为null */ public static QueryColumnFunction ifNull(Object obj1, Object obj2) { return new QueryColumnFunction(SqlConstant.IFNULL, obj1, obj2); } /** * 最大值 */ public static QueryColumnFunction max(IQueryColumn queryColumn) { return new QueryColumnFunction(SqlConstant.MAX, queryColumn); } /** * 最小值 */ public static QueryColumnFunction min(IQueryColumn queryColumn) { return new QueryColumnFunction(SqlConstant.MIN, queryColumn); } /** * 当前系统时间 */ public static QueryColumnFunction now() { return new QueryColumnFunction(SqlConstant.NOW); } /** * 替换字符串 */ public static QueryColumnFunction replace(IQueryColumn queryColumn, Object obj1, Object obj2) { return new QueryColumnFunction(SqlConstant.REPLACE, queryColumn, obj1, obj2); } /** * 四舍五入 */ public static QueryColumnFunction round(IQueryColumn queryColumn, Number number) { return new QueryColumnFunction(SqlConstant.ROUND, queryColumn, number); } /** * 截取字符串 */ public static QueryColumnFunction substr(IQueryColumn queryColumn, int position) { return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, position); } /** * 截取字符串 */ public static QueryColumnFunction substr(IQueryColumn queryColumn, int position, int length) { return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, position, length); } /** * 获取字符个数 */ public static QueryColumnFunction length(Object obj) { return new QueryColumnFunction(SqlConstant.LENGTH, obj); } /** * 获取年 */ public static QueryColumnFunction year(Object obj) { return new QueryColumnFunction(SqlConstant.YEAR, obj); } /** * 获取月 */ public static QueryColumnFunction month(Object obj) { return new QueryColumnFunction(SqlConstant.MONTH, obj); } /** * 获取日 */ public static QueryColumnFunction day(Object obj) { return new QueryColumnFunction(SqlConstant.DAY, obj); } /** * 获取小时 */ public static QueryColumnFunction hour(Object obj) { return new QueryColumnFunction(SqlConstant.HOUR, obj); } }