- All Superinterfaces:
Field<String>,FieldOrConstraint,FieldOrRow,FieldOrRowOrSelect,GroupField,Named,OrderField<String>,QueryPart,SelectField<String>,SelectFieldOrAsterisk,Serializable,TableElement,Typed<String>
- Enclosing class:
QOM
The
TRANSLATE function.
Translate a set of characters to another set of characters in a string.
-
Method Summary
Modifier and TypeMethodDescription$arg1()default QOM.Translate$arg2()default QOM.Translate$arg3()default QOM.Translatedefault @NotNull List<?>$args()@NotNull Function3<? super Field<String>,? super Field<String>, ? super Field<String>, ? extends QOM.Translate> $from()The set of source characters.default @NotNull QOM.TranslateThe set of source characters.default QueryPartTraverse aQueryParthierarchy and recursively replace its elements by alternatives.$string()The string to translate.default @NotNull QOM.TranslateThe string to translate.$to()The set of target characters, matched with source characters by position.default @NotNull QOM.TranslateThe set of target characters, matched with source characters by position.default <T> TMethods inherited from interface org.jooq.Field
abs, acos, add, add, as, as, as, as, asc, ascii, asin, atan, atan2, atan2, avg, avgOver, between, between, between, between, betweenSymmetric, betweenSymmetric, betweenSymmetric, betweenSymmetric, bitAnd, bitAnd, bitLength, bitNand, bitNand, bitNor, bitNor, bitNot, bitOr, bitOr, bitXNor, bitXNor, bitXor, bitXor, cast, cast, cast, ceil, changed, charLength, coalesce, coalesce, coerce, coerce, coerce, collate, collate, collate, comment, comment, compare, compare, compare, compare, concat, concat, concat, contains, contains, containsIgnoreCase, containsIgnoreCase, convert, convert, convert, convertFrom, convertFrom, convertTo, convertTo, cos, cosh, cot, coth, count, countDistinct, countOver, decode, decode, decode, decode, deg, desc, div, div, divide, divide, endsWith, endsWith, endsWithIgnoreCase, endsWithIgnoreCase, eq, eq, eq, eq, equal, equal, equal, equal, equalIgnoreCase, equalIgnoreCase, equals, exp, extract, field, firstValue, floor, from, ge, ge, ge, ge, get, getComment, getName, getValue, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterOrEqual, greaterThan, greaterThan, greaterThan, greaterThan, greatest, greatest, gt, gt, gt, gt, in, in, in, in, in, isDistinctFrom, isDistinctFrom, isDistinctFrom, isDocument, isFalse, isJson, isNotDistinctFrom, isNotDistinctFrom, isNotDistinctFrom, isNotDocument, isNotJson, isNotNull, isNull, isTrue, lag, lag, lag, lag, lastValue, le, le, le, le, lead, lead, lead, lead, least, least, length, lessOrEqual, lessOrEqual, lessOrEqual, lessOrEqual, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeIgnoreCase, likeRegex, likeRegex, ln, log, lower, lpad, lpad, lpad, lpad, lt, lt, lt, lt, ltrim, max, maxOver, median, min, minOver, minus, minus, mod, mod, modulo, modulo, mul, mul, multiply, multiply, ne, ne, ne, ne, neg, notBetween, notBetween, notBetween, notBetween, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notBetweenSymmetric, notContains, notContains, notContainsIgnoreCase, notContainsIgnoreCase, notEqual, notEqual, notEqual, notEqual, notEqualIgnoreCase, notEqualIgnoreCase, notIn, notIn, notIn, notIn, notIn, notLike, notLike, notLike, notLike, notLike, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeIgnoreCase, notLikeRegex, notLikeRegex, notSimilarTo, notSimilarTo, notSimilarTo, notSimilarTo, notSimilarTo, nullif, nullif, nullsFirst, nullsLast, nvl, nvl, nvl2, nvl2, octetLength, original, plus, plus, plus, position, position, pow, pow, power, power, rad, rem, rem, repeat, repeat, replace, replace, replace, replace, reset, round, round, rpad, rpad, rpad, rpad, rtrim, shl, shl, shr, shr, sign, similarTo, similarTo, similarTo, similarTo, similarTo, sin, sinh, sort, sort, sortAsc, sortAsc, sortDefault, sortDesc, sortDesc, sqrt, startsWith, startsWith, startsWithIgnoreCase, startsWithIgnoreCase, stddevPop, stddevPopOver, stddevSamp, stddevSampOver, sub, sub, substring, substring, substring, substring, subtract, subtract, sum, sumOver, tan, tanh, times, times, trim, unaryMinus, unaryPlus, upper, varPop, varPopOver, varSamp, varSampOverMethods inherited from interface org.jooq.Named
$name, getCommentPart, getQualifiedName, getUnqualifiedNameMethods inherited from interface org.jooq.Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Method Details
-
$string
The string to translate. -
$string
The string to translate. -
$from
The set of source characters. -
$from
The set of source characters. -
$to
The set of target characters, matched with source characters by position. -
$to
The set of target characters, matched with source characters by position. -
$arg1
-
$arg2
-
$arg3
-
$arg1
-
$arg2
-
$arg3
-
$constructor
-
$args
-
$traverse
Description copied from interface:QueryPartTraverser thisQueryPartexpression tree using a composableTraverser, producing a result.This offers a generic way to traverse expression trees to translate the tree to arbitrary other data structures. The simplest traversal would just count all the tree elements:
int count = CUSTOMER.NAME.eq(1).$traverse(0, (i, p) -> i + 1);The same can be achieved by translating the JDK
CollectorAPI to theTraverserAPI usingTraversers.collecting(Collector).CUSTOMER.NAME.eq(1).$traverse(Traversers.collecting(Collectors.counting()));Unlike a
Collector, aTraverseris optimised for tree traversal, not stream traversal:- Is not designed for parallelism
- It can
Traverser.abort()traversal early when the result can be produced early (e.g. when runningTraversers.containing(QueryPart), and a result has been found). - It can decide whether to
Traverser.recurse()into aQueryPartsubtree, or whether that is not necessary or even undesirable, e.g. to prevent entering new subquery scopes. - Unlike a Collector, which can use its
Collector.accumulator()to accumulate each element only once, in tree traversal, it's desirable to be able to distinguish between accumulating an itemTraverser.before()orTraverser.after()recursing into it. This is useful e.g. to wrap each tree node in XML opening and closing tags.
This is a commercial jOOQ edition only feature.
-
$replace
Description copied from interface:QueryPart
-