- All Superinterfaces:
- Field<String>,- FieldOrConstraint,- FieldOrRow,- FieldOrRowOrSelect,- GroupField,- Named,- OrderField<String>,- QueryPart,- SelectField<String>,- SelectFieldOrAsterisk,- Serializable,- TableElement,- Typed<String>
- Enclosing class:
- QOM
The 
SUBSTRING INDEX function.
 Get a substring of a string, from the beginning until the nth occurrence of a substring.
- 
Method SummaryModifier and TypeMethodDescription$arg1()default QOM.SubstringIndex$arg2()default QOM.SubstringIndex$arg3()default QOM.SubstringIndexdefault @NotNull List<?> $args()@NotNull Function3<? super Field<String>, ? super Field<String>, ? super Field<? extends Number>, ? extends QOM.SubstringIndex> The delimiter.default @NotNull QOM.SubstringIndex$delimiter(Field<String> newDelimiter) The delimiter.$n()The number of occurrences of the delimiter.default @NotNull QOM.SubstringIndexThe number of occurrences of the delimiter.default QueryPartTraverse aQueryParthierarchy and recursively replace its elements by alternatives.$string()The string from which to get the substring.default @NotNull QOM.SubstringIndexThe string from which to get the substring.default <T> TMethods inherited from interface org.jooq.Fieldabs, 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- 
$stringThe string from which to get the substring.
- 
$stringThe string from which to get the substring.
- 
$delimiterThe delimiter.
- 
$delimiter@CheckReturnValue @NotNull default @NotNull QOM.SubstringIndex $delimiter(Field<String> newDelimiter) The delimiter.
- 
$nThe number of occurrences of the delimiter.
- 
$nThe number of occurrences of the delimiter.
- 
$arg1
- 
$arg2
- 
$arg3
- 
$arg1
- 
$arg2
- 
$arg3
- 
$constructor
- 
$args
- 
$traverseDescription 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. 
- 
$replaceDescription copied from interface:QueryPart
 
-