diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java index 379d1c60..19bc05c4 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java @@ -193,6 +193,27 @@ public class QueryMethods { return new FunctionQueryColumn(TRUNCATE, LambdaUtil.getQueryColumn(columnX), LambdaUtil.getQueryColumn(columnY)); } + /** + * 返回数值 x 保留到小数点后 y 位的值。 + */ + public static QueryColumn truncate(String columnX, Integer y) { + return new FunctionQueryColumn(TRUNCATE, new QueryColumn(columnX), number(y)); + } + + /** + * 返回数值 x 保留到小数点后 y 位的值。 + */ + public static QueryColumn truncate(QueryColumn columnX, Integer y) { + return new FunctionQueryColumn(TRUNCATE, columnX, number(y)); + } + + /** + * 返回数值 x 保留到小数点后 y 位的值。 + */ + public static QueryColumn truncate(LambdaGetter columnX, Integer y) { + return new FunctionQueryColumn(TRUNCATE, LambdaUtil.getQueryColumn(columnX), number(y)); + } + /** * 返回离 x 最近的整数(四舍五入)。 */ @@ -235,6 +256,27 @@ public class QueryMethods { return new FunctionQueryColumn(ROUND, LambdaUtil.getQueryColumn(columnX), LambdaUtil.getQueryColumn(columnY)); } + /** + * 保留 x 小数点后 y 位的值,但截断时要四舍五入。 + */ + public static QueryColumn round(String columnX, Integer y) { + return new FunctionQueryColumn(ROUND, new QueryColumn(columnX), number(y)); + } + + /** + * 保留 x 小数点后 y 位的值,但截断时要四舍五入。 + */ + public static QueryColumn round(QueryColumn columnX, Integer y) { + return new FunctionQueryColumn(ROUND, columnX, number(y)); + } + + /** + * 保留 x 小数点后 y 位的值,但截断时要四舍五入。 + */ + public static QueryColumn round(LambdaGetter columnX, Integer y) { + return new FunctionQueryColumn(ROUND, LambdaUtil.getQueryColumn(columnX), number(y)); + } + /** * 返回 x 的 y 次方。 */ @@ -256,6 +298,27 @@ public class QueryMethods { return new FunctionQueryColumn(POW, LambdaUtil.getQueryColumn(columnX), LambdaUtil.getQueryColumn(columnY)); } + /** + * 返回 x 的 y 次方。 + */ + public static QueryColumn pow(String columnX, Integer y) { + return new FunctionQueryColumn(POW, new QueryColumn(columnX), number(y)); + } + + /** + * 返回 x 的 y 次方。 + */ + public static QueryColumn pow(QueryColumn columnX, Integer y) { + return new FunctionQueryColumn(POW, columnX, number(y)); + } + + /** + * 返回 x 的 y 次方。 + */ + public static QueryColumn pow(LambdaGetter columnX, Integer y) { + return new FunctionQueryColumn(POW, LambdaUtil.getQueryColumn(columnX), number(y)); + } + /** * 返回 x 的 y 次方。 */ @@ -277,6 +340,27 @@ public class QueryMethods { return new FunctionQueryColumn(POWER, LambdaUtil.getQueryColumn(columnX), LambdaUtil.getQueryColumn(columnY)); } + /** + * 返回 x 的 y 次方。 + */ + public static QueryColumn power(String columnX, Integer y) { + return new FunctionQueryColumn(POWER, new QueryColumn(columnX), number(y)); + } + + /** + * 返回 x 的 y 次方。 + */ + public static QueryColumn power(QueryColumn columnX, Integer y) { + return new FunctionQueryColumn(POWER, columnX, number(y)); + } + + /** + * 返回 x 的 y 次方。 + */ + public static QueryColumn power(LambdaGetter columnX, Integer y) { + return new FunctionQueryColumn(POWER, LambdaUtil.getQueryColumn(columnX), number(y)); + } + /** * 返回 x 的平方根。 */ @@ -340,6 +424,27 @@ public class QueryMethods { return new FunctionQueryColumn(MOD, LambdaUtil.getQueryColumn(columnX), LambdaUtil.getQueryColumn(columnY)); } + /** + * 返回 x 除以 y 以后的余数。 + */ + public static QueryColumn mod(String columnX, Integer y) { + return new FunctionQueryColumn(MOD, new QueryColumn(columnX), number(y)); + } + + /** + * 返回 x 除以 y 以后的余数。 + */ + public static QueryColumn mod(QueryColumn columnX, Integer y) { + return new FunctionQueryColumn(MOD, columnX, number(y)); + } + + /** + * 返回 x 除以 y 以后的余数。 + */ + public static QueryColumn mod(LambdaGetter columnX, Integer y) { + return new FunctionQueryColumn(MOD, LambdaUtil.getQueryColumn(columnX), number(y)); + } + /** * 返回自然对数(以 e 为底的对数)。 */ @@ -720,6 +825,27 @@ public class QueryMethods { return new FunctionQueryColumn(LEFT, LambdaUtil.getQueryColumn(columnS), LambdaUtil.getQueryColumn(columnN)); } + /** + * 返回字符串 s 的前 n 个字符。 + */ + public static QueryColumn left(String columnX, Integer n) { + return new FunctionQueryColumn(LEFT, new QueryColumn(columnX), number(n)); + } + + /** + * 返回字符串 s 的前 n 个字符。 + */ + public static QueryColumn left(QueryColumn columnX, Integer n) { + return new FunctionQueryColumn(LEFT, columnX, number(n)); + } + + /** + * 返回字符串 s 的前 n 个字符。 + */ + public static QueryColumn left(LambdaGetter columnX, Integer n) { + return new FunctionQueryColumn(LEFT, LambdaUtil.getQueryColumn(columnX), number(n)); + } + /** * 返回字符串 s 的后 n 个字符。 */ @@ -741,6 +867,27 @@ public class QueryMethods { return new FunctionQueryColumn(RIGHT, LambdaUtil.getQueryColumn(columnS), LambdaUtil.getQueryColumn(columnN)); } + /** + * 返回字符串 s 的后 n 个字符。 + */ + public static QueryColumn right(String columnX, Integer n) { + return new FunctionQueryColumn(RIGHT, new QueryColumn(columnX), number(n)); + } + + /** + * 返回字符串 s 的后 n 个字符。 + */ + public static QueryColumn right(QueryColumn columnX, Integer n) { + return new FunctionQueryColumn(RIGHT, columnX, number(n)); + } + + /** + * 返回字符串 s 的后 n 个字符。 + */ + public static QueryColumn right(LambdaGetter columnX, Integer n) { + return new FunctionQueryColumn(RIGHT, LambdaUtil.getQueryColumn(columnX), number(n)); + } + /** * 字符串 s2 来填充 s1 的开始处,使字符串长度达到 len。 */ @@ -853,6 +1000,27 @@ public class QueryMethods { return new FunctionQueryColumn(REPEAT, LambdaUtil.getQueryColumn(columnS), LambdaUtil.getQueryColumn(columnN)); } + /** + * 将字符串 s 重复 n 次。 + */ + public static QueryColumn repeat(String columnX, Integer n) { + return new FunctionQueryColumn(REPEAT, new QueryColumn(columnX), number(n)); + } + + /** + * 将字符串 s 重复 n 次。 + */ + public static QueryColumn repeat(QueryColumn columnX, Integer n) { + return new FunctionQueryColumn(REPEAT, columnX, number(n)); + } + + /** + * 将字符串 s 重复 n 次。 + */ + public static QueryColumn repeat(LambdaGetter columnX, Integer n) { + return new FunctionQueryColumn(REPEAT, LambdaUtil.getQueryColumn(columnX), number(n)); + } + /** * 返回 n 个空格。 */