All Downloads are FREE. Search and download functionalities are using the official Maven repository.

db.sql.api.impl.cmd.dbFun.FunctionInterface Maven / Gradle / Ivy

There is a newer version: 1.7.9-RC2
Show newest version
package db.sql.api.impl.cmd.dbFun;

import db.sql.api.Cmd;
import db.sql.api.cmd.LikeMode;
import db.sql.api.impl.cmd.Methods;
import db.sql.api.impl.cmd.basic.DatePattern;
import db.sql.api.impl.cmd.condition.*;
import db.sql.api.impl.cmd.dbFun.mysql.MysqlFunctions;

import java.io.Serializable;
import java.util.concurrent.TimeUnit;

public interface FunctionInterface extends Cmd {

    /**
     * 获得 mysql的函数聚合类
     *
     * @return MysqlFunctions
     */
    default MysqlFunctions mysql() {
        return new MysqlFunctions(this);
    }

    /**
     * 对自己进行求和操作
     *
     * @return Sum
     */
    default Sum sum() {
        return Methods.sum(this);
    }

    /**
     * 对自己进行求最大操作
     *
     * @return Max
     */
    default Max max() {
        return Methods.max(this);
    }

    /**
     * 对自己进行求最小操作
     * @return Min
     */
    default Min min() {
        return Methods.min(this);
    }

    /**
     * 对自己进行avg求平均值操作
     * @return Avg
     */
    default Avg avg() {
        return Methods.avg(this);
    }

    /**
     * 对自己进行abs求绝对值操作
     * @return Abs
     */
    default Abs abs() {
        return Methods.abs(this);
    }

    /**
     * 对自己进行n次幂操作
     * @return Pow
     */
    default Pow pow(int n) {
        return Methods.pow(this, n);
    }

    /**
     * 对自己进行统计个数操作
     * @return Count
     */
    default Count count() {
        return Methods.count(this);
    }

    /**
     * 对自己进行统计个数并是否去重操作
     * @param distinct 是否去重,true会加上DISTINCT
     * @return Count
     */
    default Count count(boolean distinct) {
        return Methods.count(this, distinct);
    }

    /**
     * 对自己进行四舍五入操作
     * @return Round
     */
    default Round round() {
        return this.round(0);
    }

    /**
     * 对自己进行四舍五入操作
     * @param precision 保留小数的位数
     * @return Round
     */
    default Round round(int precision) {
        return Methods.round(this, precision);
    }

    /**
     * 对自己进行向上取整操作
     * @return Ceil
     */
    default Ceil ceil() {
        return Methods.ceil(this);
    }

    /**
     * 对自己进行向下取整操作
     * @return Floor
     */
    default Floor floor() {
        return Methods.floor(this);
    }

    /**
     * 获取 自己的符号,负数为-1 0为0、正数为1
     *
     * @return Sign
     */
    default Sign sign() {
        return Methods.sign(this);
    }

    /**
     * 对自己进行整数操作,不留小数操作
     *
     * @return Truncate
     */
    default Truncate truncate() {
        return this.truncate(0);
    }

    /**
     * 对自己进行保留小数位数操作
     * @precision 保留小数位数
     * @return Truncate
     */
    default Truncate truncate(int precision) {
        return Methods.truncate(this, precision);
    }

    /**
     * 对自己求平方根操作
     * @return Sqrt
     */
    default Sqrt sqrt() {
        return Methods.sqrt(this);
    }

    /**
     * 对自己求余取模操作操作
     *
     * @param divisor 除数
     * @return Mod
     */
    default Mod mod(Number divisor) {
        return Methods.mod(this, divisor);
    }

    /**
     * 以自己为底数,求number对数操作
     *
     * @return Log
     */
    default Log log(int number) {
        return Methods.log(this, number);
    }

    /**
     * 以自己为弧度,转换为度数操作
     * @return Degrees
     */
    default Degrees degrees() {
        return Methods.degrees(this);
    }

    /**
     * 以自己为度数,转换为弧度操作
     * @return Radians
     */
    default Radians radians() {
        return Methods.radians(this);
    }

    /**
     * 以自己为角度,求正弦值操作
     * @return Sin
     */
    default Sin sin() {
        return Methods.sin(this);
    }

    /**
     * 以自己为角度,求反正弦值操作
     * @return Asin
     */
    default Asin asin() {
        return Methods.asin(this);
    }

    /**
     * 以自己为角度,求余弦值操作
     * @return Cos
     */
    default Cos cos() {
        return Methods.cos(this);
    }

    /**
     * 以自己为角度,求反余弦值操作
     * @return Cos
     */
    default Acos acos() {
        return Methods.acos(this);
    }


    /**
     * 以自己为角度,求正切值操作
     * @return Tan
     */
    default Tan tan() {
        return Methods.tan(this);
    }

    /**
     * 以自己为角度,求反正切值操作
     * @return Atan
     */
    default Atan atan() {
        return Methods.atan(this);
    }

    /**
     * 以自己为角度,求余切值操作
     * @return Cot
     */
    default Cot cot() {
        return Methods.cot(this);
    }

    /**
     * 求自己的char长度操作
     * @return CharLength
     */
    default CharLength charLength() {
        return Methods.charLength(this);
    }

    /**
     * 求自己的长度操作
     * @return Length
     */
    default Length length() {
        return Methods.length(this);
    }

    /**
     * 从左边开始截取length个长度操作
     * @return Left
     */
    default Left left(int length) {
        return Methods.left(this, length);
    }

    /**
     * 从右边开始截取length个长度操作
     * @return Right
     */
    default Right right(int length) {
        return Methods.right(this, length);
    }

    /**
     * 字段串截取操作
     *
     * @param start 默认从1开始
     * @return
     */
    default SubStr subStr(int start) {
        return Methods.subStr(this, start);
    }

    /**
     * 字段串截取操作
     *
     * @param start  默认从1开始
     * @param length 截取长度
     * @return
     */
    default SubStr subStr(int start, int length) {
        return Methods.subStr(this, start, length);
    }

    /**
     * 将自己转成大写操作
     * @return Upper
     */
    default Upper upper() {
        return Methods.upper(this);
    }


    /**
     * 将自己转成小写操作
     * @return Lower
     */
    default Lower lower() {
        return Methods.lower(this);
    }

    /**
     * 左边填充内容操作
     * @param length 填充后的长度
     * @param pad 填充内容
     * @return Lpad
     */
    default Lpad lpad(int length, String pad) {
        return Methods.lpad(this, length, pad);
    }

    /**
     * 右边填充内容操作
     * @param length 填充后的长度
     * @param pad 填充内容
     * @return Rpad
     */
    default Rpad rpad(int length, String pad) {
        return Methods.rpad(this, length, pad);
    }

    /**
     * 对自己进行去空格操作
     * @return Trim
     */
    default Trim trim() {
        return Methods.trim(this);
    }

    /**
     * 对自己进行去左边空格操作
     * @return Ltrim
     */
    default Ltrim ltrim() {
        return Methods.ltrim(this);
    }

    /**
     * 对自己进行去右边空格操作
     * @return Ltrim
     */
    default Rtrim rtrim() {
        return Methods.rtrim(this);
    }

    /**
     * 将自己和s 进行比较,




© 2015 - 2025 Weber Informatics LLC | Privacy Policy