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