/** * Create an expression representing the current date as a DateTimeExpression instance * * @return current date */ public static <T extends Comparable> DateTimeExpression<T> currentDate(Class<T> cl) { return Expressions.dateTimeOperation(cl, Ops.DateTimeOps.CURRENT_DATE); }
/** * Create an expression representing the current time instant as a DateTimeExpression instance * * @return current timestamp */ public static <T extends Comparable> DateTimeExpression<T> currentTimestamp(Class<T> cl) { return Expressions.dateTimeOperation(cl, Ops.DateTimeOps.CURRENT_TIMESTAMP); }
@Override protected DateTimeExpression<T> createResult(Class<? extends T> type, Expression<T> last) { return Expressions.dateTimeOperation(type, Ops.CASE, last); }
@Override protected DateTimeExpression<T> createResult(Class<T> type, Expression<T> last) { return Expressions.dateTimeOperation(type, Ops.CASE_EQ, base, last); }
/** * 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; }
/** * 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; }
@Override public DateTimeExpression<T> as(Path<T> alias) { return Expressions.dateTimeOperation(getType(), Ops.ALIAS, mixin, alias); }
public DateTimeExpression<T> asDateTime() { return Expressions.dateTimeOperation(getType(), Ops.COALESCE, getExpressionList()); }
@Test public void dateTimeOperation() { assertEquals("current_timestamp()", Expressions.dateTimeOperation(Date.class, Ops.DateTimeOps.CURRENT_TIMESTAMP).toString()); }
/** * Create an expression representing the current date as a DateTimeExpression instance * * @return current date */ public static <T extends Comparable> DateTimeExpression<T> currentDate(Class<T> cl) { return Expressions.dateTimeOperation(cl, Ops.DateTimeOps.CURRENT_DATE); }
/** * Create an expression representing the current time instant as a DateTimeExpression instance * * @return current timestamp */ public static <T extends Comparable> DateTimeExpression<T> currentTimestamp(Class<T> cl) { return Expressions.dateTimeOperation(cl, Ops.DateTimeOps.CURRENT_TIMESTAMP); }
/** * 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; }
/** * 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); }
/** * 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 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)); }
/** * 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 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 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)); }