/** * Get the minimum value of this expression (aggregation) * * @return min(this) */ public DateTimeExpression<T> min() { if (min == null) { min = Expressions.dateTimeOperation(getType(), Ops.AggOps.MIN_AGG, mixin); } return min; }
/** * Get the maximum value of this expression (aggregation) * * @return max(this) */ public DateTimeExpression<T> max() { if (max == null) { max = Expressions.dateTimeOperation(getType(), Ops.AggOps.MAX_AGG, mixin); } return max; }
@Override public DateTimeExpression<T> as(Path<T> alias) { return Expressions.dateTimeOperation(getType(), Ops.ALIAS, mixin, alias); }
@Override public DateTimeExpression<T> as(String alias) { return as(ExpressionUtils.path(getType(), alias)); }
/** * Get the maximum value of this expression (aggregation) * * @return max(this) */ public DateTimeExpression<T> max() { if (max == null) { max = Expressions.dateTimeOperation(getType(), Ops.AggOps.MAX_AGG, mixin); } return max; }
/** * Truncate the given datetime expression * * @param unit datepart to truncate to * @param expr truncated datetime */ public static <D extends Comparable> DateTimeExpression<D> datetrunc(DatePart unit, DateTimeExpression<D> expr) { return Expressions.dateTimeOperation(expr.getType(), DATE_TRUNC_OPS.get(unit), expr); }
/** * Get the minimum value of this expression (aggregation) * * @return min(this) */ public DateTimeExpression<T> min() { if (min == null) { min = Expressions.dateTimeOperation(getType(), Ops.AggOps.MIN_AGG, mixin); } return min; }
/** * Convert timestamp to date * * @param dateTime timestamp * @return date */ public static <D extends Comparable> DateExpression<D> date(DateTimeExpression<D> dateTime) { return Expressions.dateOperation(dateTime.getType(), Ops.DateTimeOps.DATE, dateTime); }
@Override public DateTimeExpression<T> as(Path<T> alias) { return Expressions.dateTimeOperation(getType(), Ops.ALIAS, mixin, alias); }
/** * Create a dateadd(unit, date, amount) expression * * @param unit date part * @param date date * @param amount amount * @return converted date */ public static <D extends Comparable> DateTimeExpression<D> dateadd(DatePart unit, DateTimeExpression<D> date, int amount) { return Expressions.dateTimeOperation(date.getType(), DATE_ADD_OPS.get(unit), date, ConstantImpl.create(amount)); }
/** * Add the given amount of days to the date * * @param date datetime * @param days days to add * @return converted datetime */ public static <D extends Comparable> DateTimeExpression<D> addDays(DateTimeExpression<D> date, int days) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_DAYS, date, ConstantImpl.create(days)); }
/** * Add the given amount of hours to the date * * @param date datetime * @param hours hours to add * @return converted datetime */ public static <D extends Comparable> DateTimeExpression<D> addHours(DateTimeExpression<D> date, int hours) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_HOURS, date, ConstantImpl.create(hours)); }
/** * Add the given amount of seconds to the date * * @param date datetime * @param seconds seconds to add * @return converted datetime */ public static <D extends Comparable> DateTimeExpression<D> addSeconds(DateTimeExpression<D> date, int seconds) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_SECONDS, date, ConstantImpl.create(seconds)); }
/** * Add the given amount of weeks to the date * * @param date datetime * @param weeks weeks to add * @return converted date */ public static <D extends Comparable> DateTimeExpression<D> addWeeks(DateTimeExpression<D> date, int weeks) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_WEEKS, date, ConstantImpl.create(weeks)); }
/** * Add the given amount of minutes to the date * * @param date datetime * @param minutes minutes to add * @return converted datetime */ public static <D extends Comparable> DateTimeExpression<D> addMinutes(DateTimeExpression<D> date, int minutes) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_MINUTES, date, ConstantImpl.create(minutes)); }
/** * Add the given amount of years to the date * * @param date datetime * @param years years to add * @return converted datetime */ public static <D extends Comparable> DateTimeExpression<D> addYears(DateTimeExpression<D> date, int years) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_YEARS, date, ConstantImpl.create(years)); }
/** * Add the given amount of months to the date * * @param date datetime * @param months months to add * @return converted datetime */ public static <D extends Comparable> DateTimeExpression<D> addMonths(DateTimeExpression<D> date, int months) { return Expressions.dateTimeOperation(date.getType(), Ops.DateTimeOps.ADD_MONTHS, date, ConstantImpl.create(months)); }
@Override public DateTimeExpression<T> as(String alias) { return as(ExpressionUtils.path(getType(), alias)); }