@Override @Deprecated public final Field<String> concat(Field<?>... fields) { return DSL.concat(Utils.combine(this, fields)); }
@Override @Deprecated public final Field<String> concat(Field<?>... fields) { return DSL.concat(Tools.combine(this, fields)); }
@Override @Deprecated public final Field<String> concat(String... values) { return DSL.concat(Tools.combine(this, Tools.fields(values).toArray(EMPTY_FIELD))); }
/** * Get the concat(value[, value, ...]) function. * * @see #concat(Field...) */ @Support public static Field<String> concat(String... values) { return concat(Tools.fields(values).toArray(EMPTY_FIELD)); }
@Override @Deprecated public final Field<String> concat(String... values) { return DSL.concat(Utils.combine(this, Utils.fields(values).toArray(new Field[0]))); }
/** * Get the concat(value[, value, ...]) function. * * @see #concat(Field...) */ @Support public static Field<String> concat(String... values) { return concat(Utils.fields(values).toArray(new Field[0])); }
@Override public final Condition endsWith(Field<T> value) { Field<String> concat = DSL.concat(inline("%"), Tools.escapeForLike(value)); return like(concat, Tools.ESCAPE); }
/** * Get the <code>concat(field, value)</code> function. * * @see #concat(Field...) */ @Support public static Field<String> concat(Field<String> field, String value) { return concat(nullSafe(field), Tools.field(value)); }
@Override public final Condition startsWith(Field<T> value) { Field<String> concat = DSL.concat(Utils.escapeForLike(value), inline("%")); return like(concat, Utils.ESCAPE); }
@Override public final Condition endsWith(T value) { Field<String> concat = DSL.concat(inline("%"), Utils.escapeForLike(value)); return like(concat, Utils.ESCAPE); }
@Override public final Condition startsWith(Field<T> value) { Field<String> concat = DSL.concat(Tools.escapeForLike(value), inline("%")); return like(concat, Tools.ESCAPE); }
private static final Field<?> parseFieldConcatIf(ParserContext ctx) { if (parseFunctionNameIf(ctx, "CONCAT")) { parse(ctx, '('); Field<String> result = concat(parseFields(ctx).toArray(EMPTY_FIELD)); parse(ctx, ')'); return result; } return null; }
/** * Get the <code>concat(value, field)</code> function. * * @see #concat(Field...) */ @Support public static Field<String> concat(String value, Field<String> field) { return concat(Tools.field(value), nullSafe(field)); }
@Override public final Condition startsWith(T value) { Field<String> concat = DSL.concat(Utils.escapeForLike(value), inline("%")); return like(concat, Utils.ESCAPE); }
@Override public final Condition endsWith(Field<T> value) { Field<String> concat = DSL.concat(inline("%"), Utils.escapeForLike(value)); return like(concat, Utils.ESCAPE); }
private final Condition condition(Configuration configuration) { Field<String> concat; if (rhs == null) { concat = DSL.concat(inline("%"), Tools.escapeForLike(value, configuration), inline("%")); } else { concat = DSL.concat(inline("%"), Tools.escapeForLike(rhs, configuration), inline("%")); } return lhs.likeIgnoreCase(concat, Tools.ESCAPE); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public final Condition endsWith(T value) { if (value instanceof Field) return endsWith((Field) value); Field<String> concat = DSL.concat(inline("%"), Tools.escapeForLike(value)); return like(concat, Tools.ESCAPE); }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public final Condition startsWith(T value) { if (value instanceof Field) return startsWith((Field) value); Field<String> concat = DSL.concat(Tools.escapeForLike(value), inline("%")); return like(concat, Tools.ESCAPE); }
private final Condition condition(Configuration configuration) { // [#1107] Some dialects support "contains" operations for ARRAYs // [#5929] Check both sides of the operation for array types if (lhs.getDataType().isArray() || (rhs != null && rhs.getDataType().isArray()) || (rhs == null && value != null && value.getClass().isArray())) return new PostgresArrayContains(); // "contains" operations on Strings else return lhs.like((rhs == null) ? DSL.concat(inline("%"), Tools.escapeForLike(value, configuration), inline("%")) : DSL.concat(inline("%"), Tools.escapeForLike(rhs, configuration), inline("%")), Tools.ESCAPE); }
private static final FieldOrRow parseConcat(ParserContext ctx, Type type) { FieldOrRow r = parseCollated(ctx, type); if (S.is(type) && r instanceof Field) while (parseIf(ctx, "||")) r = concat((Field) r, toField(ctx, parseCollated(ctx, type))); return r; }