- All Implemented Interfaces:
Serializable
,Field<T>
,FieldOrConstraint
,FieldOrRow
,FieldOrRowOrSelect
,GroupField
,QOM.Aliasable<Field<?>>
,Named
,OrderField<T>
,QueryPart
,QueryPartInternal
,SelectField<T>
,SelectFieldOrAsterisk
,TableElement
,Typed<T>
Field
implementations in client code.
Client code may provide proper Condition
implementations extending
this useful base class. All necessary parts of the Condition
interface are already implemented. Only this method needs further
implementation: accept(Context)
.
Refer to that methods' Javadoc for further details about their expected behaviour.
- Author:
- Lukas Eder
- See Also:
-
Constructor Summary
ModifierConstructorDescriptionprotected
CustomField
(String name, DataType<T> type) protected
CustomField
(Name name, DataType<T> type) -
Method Summary
Modifier and TypeMethodDescription$alias()
The alias if any.Field
<?> $aliased()
Experimental query object model accessor method, see alsoQOM
.final Name
$name()
Experimental query object model accessor method, see alsoQOM
.default QueryPart
Traverse aQueryPart
hierarchy and recursively replace its elements by alternatives.default <R> R
abs()
Deprecated.abstract void
Subclasses must implement this method.final Field
<BigDecimal> acos()
Deprecated.An arithmetic expression adding this to value.An arithmetic expression to add value to this.Create an alias for this field.Create an alias for this field.Create an alias for this field based on another field's name.Create an alias for this field.asc()
Create an ascending sort field from this field.ascii()
Deprecated.final Field
<BigDecimal> asin()
Deprecated.final Field
<BigDecimal> atan()
Deprecated.final Field
<BigDecimal> Deprecated.final Field
<BigDecimal> Deprecated.final Field
<BigDecimal> avg()
Deprecated.final WindowPartitionByStep
<BigDecimal> avgOver()
Deprecated.final BetweenAndStep
<T> Create a condition to check this field against some bounds.final Condition
Create a condition to check this field against some bounds.final BetweenAndStep
<T> Create a condition to check this field against some bounds.final Condition
Create a condition to check this field against some bounds.final BetweenAndStep
<T> betweenSymmetric
(Field<T> minValue) Create a condition to check this field against some bounds.final Condition
betweenSymmetric
(Field<T> minValue, Field<T> maxValue) Create a condition to check this field against some bounds.final BetweenAndStep
<T> betweenSymmetric
(T minValue) Create a condition to check this field against some bounds.final Condition
betweenSymmetric
(T minValue, T maxValue) Create a condition to check this field against some bounds.final Condition
binaryLike
(byte[] pattern) TheBINARY_LIKE
operator.final Condition
binaryLike
(Field<byte[]> pattern) TheBINARY_LIKE
operator.final Condition
binaryLike
(QuantifiedSelect<? extends Record1<byte[]>> pattern) TheBINARY_LIKE
operator.TheBIT_AND
operator.TheBIT_AND
operator.Deprecated.TheBIT_NAND
operator.TheBIT_NAND
operator.TheBIT_NOR
operator.TheBIT_NOR
operator.bitNot()
TheBIT_NOT
operator.TheBIT_OR
operator.TheBIT_OR
operator.TheBIT_XNOR
operator.TheBIT_XNOR
operator.TheBIT_XOR
operator.TheBIT_XOR
operator.final <Z> Field
<Z> Cast this field to another type.final <Z> Field
<Z> Cast this field to a dialect-specific data type.final <Z> Field
<Z> Cast this field to the type of another field.ceil()
Deprecated.final boolean
The inverse operation ofRecord.changed(Field)
.Deprecated.final Clause[]
TheClause
s that are represented by this query part.Deprecated.Deprecated.final <Z> Field
<Z> Coerce this field to another type.final <Z> Field
<Z> Coerce this field to a dialect-specific data type.final <Z> Field
<Z> Coerce this field to the type of another field.Apply a collation operator to this column expression.Apply a collation operator to this column expression.Apply a collation operator to this column expression.Attach aComment
to this field, for use in DDL statements, such asDSLContext.createTable(Table)
.Attach aComment
to this field, for use in DDL statements, such asDSLContext.createTable(Table)
.final Condition
compare
(Comparator comparator, Field<T> field) Compare this field with another field using a dynamic comparator.final Condition
compare
(Comparator comparator, QuantifiedSelect<? extends Record1<T>> query) Compare this field with a quantified subselect using a dynamic comparator.final Condition
compare
(Comparator comparator, Select<? extends Record1<T>> query) Compare this field with a subselect using a dynamic comparator.final Condition
compare
(Comparator comparator, T value) Compare this field with a value using a dynamic comparator.concat
(char... values) This method is part of the pre-2.0 API.Deprecated.Deprecated.final Condition
TheCONTAINS
operator.final Condition
TheCONTAINS
operator.final Condition
containsIgnoreCase
(Field<T> content) TheCONTAINS_IGNORE_CASE
operator.final Condition
containsIgnoreCase
(T content) TheCONTAINS_IGNORE_CASE
operator.final <U> Field
<U> Apply an ad-hoc data typeConverter
to this field expression.final <U> Field
<U> Apply an ad-hoc data typeBinding
to this field expression.final <U> Field
<U> Apply an ad-hoc data typeConverter
to this field expression.final <U> Field
<U> convertFrom
(Class<U> toType, Function<? super T, ? extends U> from) Apply an ad-hoc read-only data typeConverter
to this field expression.final <U> Field
<U> convertFrom
(Function<? super T, ? extends U> from) Apply an ad-hoc read-only data typeConverter
to this field expression.final <U> Field
<U> Apply an ad-hoc write-only data typeConverter
to this field expression.final <U> Field
<U> Apply an ad-hoc write-only data typeConverter
to this field expression.final Field
<BigDecimal> cos()
Deprecated.final Field
<BigDecimal> cosh()
Deprecated.final Field
<BigDecimal> cot()
Deprecated.final Field
<BigDecimal> coth()
Deprecated.count()
Deprecated.Deprecated.final WindowPartitionByStep
<Integer> Deprecated.protected final DSLContext
create()
Deprecated.protected final DSLContext
create
(Configuration configuration) Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.protected final DSLContext
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.boolean
Subclasses may override thisfinal boolean
Subclasses may override thisboolean
Subclasses may override thisfinal boolean
Subclasses may override thisboolean
Subclasses may override thisfinal <Z> Field
<Z> Deprecated.final <Z> Field
<Z> Deprecated.final <Z> Field
<Z> Deprecated.final <Z> Field
<Z> Deprecated.final Field
<BigDecimal> deg()
Deprecated.desc()
Create a descending sort field from this field.An arithmetic expression dividing this by value.An arithmetic expression dividing this by value.An alias forField.div(Number)
.An alias forField.div(Field)
.final Condition
TheENDS_WITH
operator.final Condition
TheENDS_WITH
operator.final Condition
endsWithIgnoreCase
(Field<T> suffix) TheENDS_WITH_IGNORE_CASE
operator.final Condition
endsWithIgnoreCase
(T suffix) TheENDS_WITH_IGNORE_CASE
operator.final Condition
TheEQ
operator.final Condition
eq
(QuantifiedSelect<? extends Record1<T>> arg2) TheEQ
operator.final Condition
TheEQ
operator.final Condition
TheEQ
operator.final Condition
TheEQUAL
operator, an alias for theEQ
operator.final Condition
equal
(QuantifiedSelect<? extends Record1<T>> arg2) TheEQUAL
operator, an alias for theEQ
operator.final Condition
TheEQUAL
operator, an alias for theEQ
operator.final Condition
TheEQUAL
operator, an alias for theEQ
operator.final Condition
equalIgnoreCase
(String value) lower(this) = lower(value)
.final Condition
equalIgnoreCase
(Field<String> value) lower(this) = lower(value)
.boolean
Check whether thisQueryPart
can be considered equal to anotherQueryPart
.final Field
<BigDecimal> exp()
Deprecated.Deprecated.The inverse operation ofFields.field(Field)
.final WindowIgnoreNullsStep
<T> Deprecated.floor()
Deprecated.The inverse operation ofRecord.into(Field)
.final Condition
TheGE
operator.final Condition
ge
(QuantifiedSelect<? extends Record1<T>> arg2) TheGE
operator.final Condition
TheGE
operator.final Condition
TheGE
operator.boolean
Subclasses may override thisfinal T
The inverse operation ofRecord.get(Field)
.The object's underlyingBinding
.final String
The comment on this object.final Comment
The comment on this object as aQueryPart
.final ContextConverter
<?, T> The object's underlyingConverter
.The type of this object (might not be dialect-specific).getDataType
(Configuration configuration) The dialect-specific type of this object.final String
getName()
The unqualified name of this object.The qualified name of this object.getType()
The Java type of the object.final Name
The unqualified name of this object.final T
The inverse operation ofRecord.getValue(Field)
.final Condition
greaterOrEqual
(Field<T> arg2) TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.final Condition
greaterOrEqual
(QuantifiedSelect<? extends Record1<T>> arg2) TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.final Condition
greaterOrEqual
(Select<? extends Record1<T>> arg2) TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.final Condition
greaterOrEqual
(T arg2) TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.final Condition
greaterThan
(Field<T> arg2) TheGREATER_THAN
operator, an alias for theGT
operator.final Condition
greaterThan
(QuantifiedSelect<? extends Record1<T>> arg2) TheGREATER_THAN
operator, an alias for theGT
operator.final Condition
greaterThan
(Select<? extends Record1<T>> arg2) TheGREATER_THAN
operator, an alias for theGT
operator.final Condition
greaterThan
(T arg2) TheGREATER_THAN
operator, an alias for theGT
operator.Deprecated.Deprecated.final Condition
TheGT
operator.final Condition
gt
(QuantifiedSelect<? extends Record1<T>> arg2) TheGT
operator.final Condition
TheGT
operator.final Condition
TheGT
operator.int
hashCode()
Generate a hash code from thisQueryPart
.final Condition
in
(Collection<?> values) Create a condition to check this field against several values.final Condition
Create a condition to check this field against several values.final Condition
Create a condition to check this field against several values from a previous query.final Condition
TheIN
operator.final Condition
Create a condition to check this field against several values.final Condition
isDistinctFrom
(Field<T> arg2) TheIS_DISTINCT_FROM
operator.final Condition
isDistinctFrom
(Select<? extends Record1<T>> arg2) TheIS_DISTINCT_FROM
operator.final Condition
isDistinctFrom
(T arg2) TheIS_DISTINCT_FROM
operator.final Condition
TheIS_DOCUMENT
operator.final Condition
isFalse()
Create a condition to check this field against known string literals forfalse
.final Condition
isJson()
TheIS_JSON
operator.final Condition
isNotDistinctFrom
(Field<T> arg2) TheIS_NOT_DISTINCT_FROM
operator.final Condition
isNotDistinctFrom
(Select<? extends Record1<T>> arg2) TheIS_NOT_DISTINCT_FROM
operator.final Condition
isNotDistinctFrom
(T arg2) TheIS_NOT_DISTINCT_FROM
operator.final Condition
TheIS_NOT_DOCUMENT
operator.final Condition
TheIS_NOT_JSON
operator.final Condition
TheIS_NOT_NULL
operator.final Condition
isNull()
TheIS_NULL
operator.final Condition
isTrue()
Create a condition to check this field against known string literals fortrue
.final WindowIgnoreNullsStep
<T> lag()
Deprecated.final WindowIgnoreNullsStep
<T> lag
(int offset) Deprecated.final WindowIgnoreNullsStep
<T> Deprecated.final WindowIgnoreNullsStep
<T> Deprecated.final WindowIgnoreNullsStep
<T> Deprecated.final Condition
TheLE
operator.final Condition
le
(QuantifiedSelect<? extends Record1<T>> arg2) TheLE
operator.final Condition
TheLE
operator.final Condition
TheLE
operator.final WindowIgnoreNullsStep
<T> lead()
Deprecated.final WindowIgnoreNullsStep
<T> lead
(int offset) Deprecated.final WindowIgnoreNullsStep
<T> Deprecated.final WindowIgnoreNullsStep
<T> Deprecated.Deprecated.Deprecated.length()
Deprecated.final Condition
lessOrEqual
(Field<T> arg2) TheLESS_OR_EQUAL
operator, an alias for theLE
operator.final Condition
lessOrEqual
(QuantifiedSelect<? extends Record1<T>> arg2) TheLESS_OR_EQUAL
operator, an alias for theLE
operator.final Condition
lessOrEqual
(Select<? extends Record1<T>> arg2) TheLESS_OR_EQUAL
operator, an alias for theLE
operator.final Condition
lessOrEqual
(T arg2) TheLESS_OR_EQUAL
operator, an alias for theLE
operator.final Condition
TheLESS_THAN
operator, an alias for theLT
operator.final Condition
lessThan
(QuantifiedSelect<? extends Record1<T>> arg2) TheLESS_THAN
operator, an alias for theLT
operator.final Condition
TheLESS_THAN
operator, an alias for theLT
operator.final Condition
TheLESS_THAN
operator, an alias for theLT
operator.final LikeEscapeStep
TheLIKE
operator.final Condition
Create a condition to pattern-check this field against a value.final LikeEscapeStep
TheLIKE
operator.final Condition
Create a condition to pattern-check this field against a value.final LikeEscapeStep
like
(QuantifiedSelect<? extends Record1<String>> pattern) TheLIKE
operator.final LikeEscapeStep
likeIgnoreCase
(String pattern) TheLIKE_IGNORE_CASE
operator.final Condition
likeIgnoreCase
(String value, char escape) Create a condition to case-insensitively pattern-check this field against a value.final LikeEscapeStep
likeIgnoreCase
(Field<String> pattern) TheLIKE_IGNORE_CASE
operator.final Condition
likeIgnoreCase
(Field<String> field, char escape) Create a condition to case-insensitively pattern-check this field against a field.final Condition
Create a condition to regex-pattern-check this field against a pattern.final Condition
Create a condition to regex-pattern-check this field against a pattern.final Field
<BigDecimal> ln()
Deprecated.final Field
<BigDecimal> log
(int base) Deprecated.lower()
Deprecated.lpad
(int length) Deprecated.lpad
(int length, char character) Deprecated.Deprecated.Deprecated.final Condition
TheLT
operator.final Condition
lt
(QuantifiedSelect<? extends Record1<T>> arg2) TheLT
operator.final Condition
TheLT
operator.final Condition
TheLT
operator.ltrim()
Deprecated.max()
Deprecated.final WindowPartitionByStep
<T> maxOver()
Deprecated.final Field
<BigDecimal> median()
Deprecated.min()
Deprecated.final WindowPartitionByStep
<T> minOver()
Deprecated.An alias forField.sub(Number)
.An alias forField.sub(Field)
.TheMOD
operator.TheMOD
operator.TheMODULO
operator, an alias for theMOD
operator.TheMODULO
operator, an alias for theMOD
operator.An arithmetic expression multiplying this with value.An arithmetic expression multiplying this with value.An alias forField.mul(Number)
.An alias forField.mul(Field)
.final Condition
TheNE
operator.final Condition
ne
(QuantifiedSelect<? extends Record1<T>> arg2) TheNE
operator.final Condition
TheNE
operator.final Condition
TheNE
operator.neg()
Negate this field to get its negative value.final BetweenAndStep
<T> notBetween
(Field<T> minValue) Create a condition to check this field against some bounds.final Condition
notBetween
(Field<T> minValue, Field<T> maxValue) Create a condition to check this field against some bounds.final BetweenAndStep
<T> notBetween
(T minValue) Create a condition to check this field against some bounds.final Condition
notBetween
(T minValue, T maxValue) Create a condition to check this field against some bounds.final BetweenAndStep
<T> notBetweenSymmetric
(Field<T> minValue) Create a condition to check this field against some bounds.final Condition
notBetweenSymmetric
(Field<T> minValue, Field<T> maxValue) Create a condition to check this field against some bounds.final BetweenAndStep
<T> notBetweenSymmetric
(T minValue) Create a condition to check this field against some bounds.final Condition
notBetweenSymmetric
(T minValue, T maxValue) Create a condition to check this field against some bounds.final Condition
notBinaryLike
(byte[] pattern) TheNOT_BINARY_LIKE
operator.final Condition
notBinaryLike
(Field<byte[]> pattern) TheNOT_BINARY_LIKE
operator.final Condition
notBinaryLike
(QuantifiedSelect<? extends Record1<byte[]>> pattern) TheNOT_BINARY_LIKE
operator.final Condition
notContains
(Field<T> value) Inverse ofField.contains(Field)
.final Condition
notContains
(T value) Inverse ofField.contains(Object)
.final Condition
notContainsIgnoreCase
(Field<T> value) Inverse ofField.containsIgnoreCase(Field)
final Condition
notContainsIgnoreCase
(T value) Inverse ofField.containsIgnoreCase(Object)
final Condition
TheNOT_EQUAL
operator, an alias for theNE
operator.final Condition
notEqual
(QuantifiedSelect<? extends Record1<T>> arg2) TheNOT_EQUAL
operator, an alias for theNE
operator.final Condition
TheNOT_EQUAL
operator, an alias for theNE
operator.final Condition
TheNOT_EQUAL
operator, an alias for theNE
operator.final Condition
notEqualIgnoreCase
(String value) lower(this) != lower(value)
.final Condition
notEqualIgnoreCase
(Field<String> value) lower(this) != lower(value)
.final Condition
notIn
(Collection<?> values) Create a condition to check this field against several values.final Condition
Create a condition to check this field against several values.final Condition
Create a condition to check this field against several values from a previous query.final Condition
TheNOT_IN
operator.final Condition
Create a condition to check this field against several values.final LikeEscapeStep
TheNOT_LIKE
operator.final Condition
Create a condition to pattern-check this field against a value.final LikeEscapeStep
TheNOT_LIKE
operator.final Condition
Create a condition to pattern-check this field against a field.final LikeEscapeStep
notLike
(QuantifiedSelect<? extends Record1<String>> pattern) TheNOT_LIKE
operator.final LikeEscapeStep
notLikeIgnoreCase
(String pattern) TheNOT_LIKE_IGNORE_CASE
operator.final Condition
notLikeIgnoreCase
(String value, char escape) Create a condition to case-insensitively pattern-check this field against a value.final LikeEscapeStep
notLikeIgnoreCase
(Field<String> pattern) TheNOT_LIKE_IGNORE_CASE
operator.final Condition
notLikeIgnoreCase
(Field<String> field, char escape) Create a condition to case-insensitively pattern-check this field against a field.final Condition
notLikeRegex
(String pattern) Create a condition to regex-pattern-check this field against a pattern.final Condition
notLikeRegex
(Field<String> pattern) Create a condition to regex-pattern-check this field against a pattern.final LikeEscapeStep
notSimilarTo
(String pattern) TheNOT_SIMILAR_TO
operator.final Condition
notSimilarTo
(String value, char escape) Create a condition to pattern-check this field against a value.final LikeEscapeStep
notSimilarTo
(Field<String> pattern) TheNOT_SIMILAR_TO
operator.final Condition
notSimilarTo
(Field<String> field, char escape) Create a condition to pattern-check this field against a field.final LikeEscapeStep
notSimilarTo
(QuantifiedSelect<? extends Record1<String>> pattern) TheNOT_SIMILAR_TO
operator.Deprecated.Deprecated.Convenience method forField.sortDefault()
and thenSortField.nullsFirst()
.Convenience method forField.sortDefault()
and thenSortField.nullsLast()
.Deprecated.Deprecated.final <Z> Field
<Z> Deprecated.final <Z> Field
<Z> nvl2
(Z valueIfNotNull, Z valueIfNull) Deprecated.Deprecated.static final <T> CustomField
<T> Create aCustomField
from a lambda expression.static final <T> CustomField
<T> Create aCustomField
from a lambda expression.final T
The inverse operation ofRecord.original(Field)
.plus()
ThePLUS
operator.An alias forField.add(Number)
.An alias forField.add(Field)
.Deprecated.Deprecated.final Field
<BigDecimal> ThePOW
operator, an alias for thePOWER
operator.final Field
<BigDecimal> ThePOW
operator, an alias for thePOWER
operator.final Field
<BigDecimal> ThePOWER
operator.final Field
<BigDecimal> ThePOWER
operator.final Field
<BigDecimal> rad()
Deprecated.TheREM
operator, an alias for theMOD
operator.TheREM
operator, an alias for theMOD
operator.boolean
rendersContent
(Context<?> ctx) Subclasses may override thisDeprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.final void
The inverse operation ofRecord.reset(Field)
.round()
Deprecated.round
(int decimals) Deprecated.rpad
(int length) Deprecated.rpad
(int length, char character) Deprecated.Deprecated.Deprecated.rtrim()
Deprecated.TheSHL
operator.TheSHL
operator.TheSHR
operator.TheSHR
operator.sign()
Deprecated.final LikeEscapeStep
TheSIMILAR_TO
operator.final Condition
Create a condition to pattern-check this field against a value.final LikeEscapeStep
TheSIMILAR_TO
operator.final Condition
Create a condition to pattern-check this field against a value.final LikeEscapeStep
similarTo
(QuantifiedSelect<? extends Record1<String>> pattern) TheSIMILAR_TO
operator.final Field
<BigDecimal> sin()
Deprecated.final Field
<BigDecimal> sinh()
Deprecated.final <Z> SortField
<Z> Create an indirected sort field.Create an ascending/descending sort field from this field.sortAsc
(Collection<T> sortList) Create an indirected sort field.Create an indirected sort field.Create a default sorted (implicitASC
) from this field.sortDesc
(Collection<T> sortList) Create an indirected sort field.Create an indirected sort field.final Field
<BigDecimal> sqrt()
Deprecated.final Condition
startsWith
(Field<T> prefix) TheSTARTS_WITH
operator.final Condition
startsWith
(T prefix) TheSTARTS_WITH
operator.final Condition
startsWithIgnoreCase
(Field<T> prefix) TheSTARTS_WITH_IGNORE_CASE
operator.final Condition
startsWithIgnoreCase
(T prefix) TheSTARTS_WITH_IGNORE_CASE
operator.final Field
<BigDecimal> Deprecated.final WindowPartitionByStep
<BigDecimal> Deprecated.final Field
<BigDecimal> Deprecated.final WindowPartitionByStep
<BigDecimal> Deprecated.An arithmetic expression subtracting value from this.An arithmetic expression subtracting value from this.substring
(int startingPosition) Deprecated.substring
(int startingPosition, int length) Deprecated.Deprecated.Deprecated.An alias forField.sub(Number)
.An alias forField.sub(Field)
.final Field
<BigDecimal> sum()
Deprecated.final WindowPartitionByStep
<BigDecimal> sumOver()
Deprecated.final Field
<BigDecimal> tan()
Deprecated.final Field
<BigDecimal> tanh()
Deprecated.An alias forField.mul(Number)
.An alias forField.mul(Field)
.toString()
Render a SQL string representation of thisQueryPart
.final boolean
The inverse operation ofRecord.touched(Field)
.protected final DataAccessException
translate
(String sql, SQLException e) Internal convenience methodtrim()
Deprecated.Negate this field to get its negative value.Get this field as its positive value (no effect on SQL).upper()
Deprecated.final Field
<BigDecimal> varPop()
Deprecated.final WindowPartitionByStep
<BigDecimal> Deprecated.final Field
<BigDecimal> varSamp()
Deprecated.final WindowPartitionByStep
<BigDecimal> Deprecated.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.jooq.Field
abs, acos, add, add, as, as, as, asc, ascii, asin, atan, atan2, atan2, avg, avgOver, between, between, between, between, betweenSymmetric, betweenSymmetric, betweenSymmetric, betweenSymmetric, binaryLike, binaryLike, binaryLike, 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, notBinaryLike, notBinaryLike, notBinaryLike, 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, touched, trim, unaryMinus, unaryPlus, upper, varPop, varPopOver, varSamp, varSampOver
Methods inherited from interface org.jooq.Named
$name, getCommentPart, getQualifiedName, getUnqualifiedName
Methods inherited from interface org.jooq.Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Constructor Details
-
CustomField
-
CustomField
-
-
Method Details
-
of
public static final <T> CustomField<T> of(String name, DataType<T> type, Consumer<? super Context<?>> consumer) Create aCustomField
from a lambda expression. -
of
public static final <T> CustomField<T> of(Name name, DataType<T> type, Consumer<? super Context<?>> consumer) Create aCustomField
from a lambda expression. -
accept
Subclasses must implement this method.
ThisQueryPart
canaccept
aContext
object in order to render a SQL string or to bind its variables.- Specified by:
accept
in interfaceQueryPartInternal
-
clauses
Description copied from interface:QueryPartInternal
TheClause
s that are represented by this query part.QueryPart
s can specify severalClause
s for which an event will be emittedbefore
(in forward order) andafter
(in reverse order) visiting the the query part throughContext.visit(QueryPart)
This method is for JOOQ INTERNAL USE only. Do not reference directly
- Specified by:
clauses
in interfaceQueryPartInternal
- Returns:
- The
Clause
s represented by this query part ornull
or an empty array if this query part does not represent a clause.
-
as
Description copied from interface:SelectField
Create an alias for this field.Note that the case-sensitivity of the returned field depends on
Settings.getRenderQuotedNames()
and theName
. By default, field aliases are quoted, and thus case-sensitive in many SQL dialects - useDSL.unquotedName(String...)
for case-insensitive aliases.If the argument
Name.getName()
is qualified, then theName.last()
part will be used. -
declaresFields
public final boolean declaresFields()Subclasses may override this- Specified by:
declaresFields
in interfaceQueryPartInternal
-
declaresTables
public final boolean declaresTables()Subclasses may override this- Specified by:
declaresTables
in interfaceQueryPartInternal
-
$traverse
Description copied from interface:QueryPart
Traverser thisQueryPart
expression 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
Collector
API to theTraverser
API usingTraversers.collecting(Collector)
.CUSTOMER.NAME.eq(1).$traverse(Traversers.collecting(Collectors.counting()));
Unlike a
Collector
, aTraverser
is 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 aQueryPart
subtree, 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
-
field
Description copied from interface:Field
The inverse operation ofFields.field(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream.
-
get
Description copied from interface:Field
The inverse operation ofRecord.get(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE.ID::get) .forEach(System.out::println);
-
getValue
Description copied from interface:Field
The inverse operation ofRecord.getValue(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE.ID::getValue) .forEach(System.out::println);
-
original
Description copied from interface:Field
The inverse operation ofRecord.original(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE.ID::original) .forEach(System.out::println);
-
changed
Description copied from interface:Field
The inverse operation ofRecord.changed(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE.ID::changed) .forEach(System.out::println);
-
touched
Description copied from interface:Field
The inverse operation ofRecord.touched(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE.ID::touched) .forEach(System.out::println);
-
reset
Description copied from interface:Field
The inverse operation ofRecord.reset(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .forEach(MY_TABLE.ID::reset);
-
from
Description copied from interface:Field
The inverse operation ofRecord.into(Field)
.This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:
DSL.using(configuration) .fetch("select * from t") .stream() .map(MY_TABLE.ID::from) .forEach(System.out::println);
-
$alias
Description copied from interface:QOM.Aliasable
The alias if any.- Specified by:
$alias
in interfaceQOM.Aliasable<T>
-
$aliased
Description copied from interface:QOM.Aliasable
- Specified by:
$aliased
in interfaceQOM.Aliasable<T>
-
convert
Description copied from interface:SelectField
Apply an ad-hoc data typeBinding
to this field expression.Rather than attaching data type bindings at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataType(Binding)
, this method allows for creating a derived field expression with an ad-hoc data type binding for single query usage.- Specified by:
convert
in interfaceField<T>
- Specified by:
convert
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Parameters:
binding
- The binding to be applied on any operations using this field.- Returns:
- A derived field expression using a new binding.
-
convert
Description copied from interface:SelectField
Apply an ad-hoc data typeConverter
to this field expression.Rather than attaching data type converters at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataType(Converter)
, this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.- Specified by:
convert
in interfaceField<T>
- Specified by:
convert
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Parameters:
converter
- The converter to be applied on any operations using this field.- Returns:
- A derived field expression using a new converter.
-
convert
public final <U> Field<U> convert(Class<U> toType, Function<? super T, ? extends U> from, Function<? super U, ? extends T> to) Description copied from interface:SelectField
Apply an ad-hoc data typeConverter
to this field expression.Rather than attaching data type converters at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataType(Class, Function, Function)
, this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.- Specified by:
convert
in interfaceField<T>
- Specified by:
convert
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Returns:
- A derived field expression using a new converter.
-
convertFrom
Description copied from interface:SelectField
Apply an ad-hoc read-only data typeConverter
to this field expression.Rather than attaching data type converters at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataTypeFrom(Class, Function)
, this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.- Specified by:
convertFrom
in interfaceField<T>
- Specified by:
convertFrom
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Returns:
- A derived field expression using a new converter.
-
convertFrom
Description copied from interface:SelectField
Apply an ad-hoc read-only data typeConverter
to this field expression.Rather than attaching data type converters at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataTypeFrom(Class, Function)
, this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.Unlike
SelectField.convertFrom(Class, Function)
, this method attempts to work without an explicitClass
reference for the underlyingConverter.toType()
. There may be some edge cases where this doesn't work, e.g. when nesting rows in arrays, the class literal is required for reflective array creation.- Specified by:
convertFrom
in interfaceField<T>
- Specified by:
convertFrom
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Returns:
- A derived field expression using a new converter.
-
convertTo
Description copied from interface:SelectField
Apply an ad-hoc write-only data typeConverter
to this field expression.Rather than attaching data type converters at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataTypeTo(Class, Function)
, this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.- Specified by:
convertTo
in interfaceField<T>
- Specified by:
convertTo
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Returns:
- A derived field expression using a new converter.
-
convertTo
Description copied from interface:SelectField
Apply an ad-hoc write-only data typeConverter
to this field expression.Rather than attaching data type converters at code generation time, or creating cumbersome expressions using
DataType.asConvertedDataTypeTo(Class, Function)
, this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.Unlike
SelectField.convertTo(Class, Function)
, this method attempts to work without an explicitClass
reference for the underlyingConverter.toType()
. There may be some edge cases where this doesn't work, e.g. when nesting rows in arrays, the class literal is required for reflective array creation.- Specified by:
convertTo
in interfaceField<T>
- Specified by:
convertTo
in interfaceSelectField<T>
- Type Parameters:
U
- The user type.- Returns:
- A derived field expression using a new converter.
-
as
Description copied from interface:SelectField
Create an alias for this field.Note that the case-sensitivity of the returned field depends on
Settings.getRenderQuotedNames()
. By default, field aliases are quoted, and thus case-sensitive in many SQL dialects!- Specified by:
as
in interfaceField<T>
- Specified by:
as
in interfaceSelectField<T>
- Parameters:
alias
- The alias name- Returns:
- The field alias
-
as
Description copied from interface:SelectField
Create an alias for this field based on another field's name.- Specified by:
as
in interfaceField<T>
- Specified by:
as
in interfaceSelectField<T>
- Parameters:
otherField
- The other field whose name this field is aliased with.- Returns:
- The field alias.
-
as
Description copied from interface:Field
Create an alias for this field.Note that the case-sensitivity of the returned field depends on
Settings.getRenderQuotedNames()
. By default, field aliases are quoted, and thus case-sensitive in many SQL dialects!This works like
Field.as(String)
, except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix (onTable.as(String, Function)
):MY_TABLE.as("t1", f -> "prefix_" + f.getName());
And then to use the same function also for individual fields:
MY_TABLE.MY_COLUMN.as(f -> "prefix_" + f.getName());
-
comment
Description copied from interface:Field
Attach aComment
to this field, for use in DDL statements, such asDSLContext.createTable(Table)
. -
comment
Description copied from interface:Field
Attach aComment
to this field, for use in DDL statements, such asDSLContext.createTable(Table)
. -
cast
Description copied from interface:Field
Cast this field to the type of another field.Casting converts expressions between data types directly in SQL using SQL
CAST
expressions or similar. If you want to convert data types only in jOOQ without any effect on generated SQL, you can useField.coerce(Field)
instead. -
cast
Description copied from interface:Field
Cast this field to a dialect-specific data type.Casting converts expressions between data types directly in SQL using SQL
CAST
expressions or similar. If you want to convert data types only in jOOQ without any effect on generated SQL, you can useField.coerce(DataType)
instead. -
cast
Description copied from interface:Field
Cast this field to another type.Casting converts expressions between data types directly in SQL using SQL
CAST
expressions or similar. If you want to convert data types only in jOOQ without any effect on generated SQL, you can useField.coerce(Class)
instead.The actual cast may not be accurate as the
DataType
has to be "guessed" from the jOOQ-configured data types. UseField.cast(DataType)
for more accurate casts.NOTE [#15286]: It is strongly recommended to pass only
Class
references of types supported by jOOQ internally, i.e. types fromSQLDataType
. If you're using any custom data types by means of aConverter
orBinding
, it's better to pass that convertedDataType
reference explicitly toField.cast(DataType)
. -
coerce
Description copied from interface:Field
Coerce this field to the type of another field.Unlike with
Field.cast(Field)
, coercing doesn't affect the way the database sees aField
's type. This is how coercing affects your SQL:Bind values
// This binds an int value to a JDBC PreparedStatement, // where a String is expected DSL.val(1).coerce(VARCHAR); // This binds an int value to a JDBC PreparedStatement // and casts it to VARCHAR in SQL DSL.val(1).cast(VARCHAR);
Other Field types
// This fetches a String value for the BOOK.ID field from JDBC BOOK.ID.coerce(VARCHAR); // This fetches a String value for the BOOK.ID field from JDBC // after casting it to VARCHAR in the database BOOK.ID.cast(VARCHAR);
-
coerce
Description copied from interface:Field
Coerce this field to a dialect-specific data type.Unlike with
Field.cast(DataType)
, coercing doesn't affect the way the database sees aField
's type. This is how coercing affects your SQL:Bind values
// This binds an int value to a JDBC PreparedStatement, // where a String is expected DSL.val(1).coerce(VARCHAR); // This binds an int value to a JDBC PreparedStatement // and casts it to VARCHAR in SQL DSL.val(1).cast(VARCHAR);
Other Field types
// This fetches a String value for the BOOK.ID field from JDBC BOOK.ID.coerce(VARCHAR); // This fetches a String value for the BOOK.ID field from JDBC // after casting it to VARCHAR in the database BOOK.ID.cast(VARCHAR);
-
coerce
Description copied from interface:Field
Coerce this field to another type.Unlike with
Field.cast(Class)
, coercing doesn't affect the way the database sees aField
's type. This is how coercing affects your SQL:Bind values
// This binds an int value to a JDBC PreparedStatement, // where a String is expected DSL.val(1).coerce(VARCHAR); // This binds an int value to a JDBC PreparedStatement // and casts it to VARCHAR in SQL DSL.val(1).cast(VARCHAR);
Other Field types
// This fetches a String value for the BOOK.ID field from JDBC BOOK.ID.coerce(VARCHAR); // This fetches a String value for the BOOK.ID field from JDBC // after casting it to VARCHAR in the database BOOK.ID.cast(VARCHAR);
NOTE [#15286]: It is strongly recommended to pass only
Class
references of types supported by jOOQ internally, i.e. types fromSQLDataType
. If you're using any custom data types by means of aConverter
orBinding
, it's better to pass that convertedDataType
reference explicitly toField.coerce(DataType)
. -
asc
Description copied from interface:Field
Create an ascending sort field from this field.This is the same as calling
Field.sort(SortOrder)
withSortOrder.ASC
-
desc
Description copied from interface:Field
Create a descending sort field from this field.This is the same as calling
Field.sort(SortOrder)
withSortOrder.DESC
-
sortDefault
Description copied from interface:Field
Create a default sorted (implicitASC
) from this field.This is the same as calling
Field.sort(SortOrder)
withSortOrder.DEFAULT
- Specified by:
sortDefault
in interfaceField<T>
- Returns:
- This field as a default sorted sort field
-
sort
Description copied from interface:Field
Create an ascending/descending sort field from this field. -
sortAsc
Description copied from interface:Field
Create an indirected sort field.Create a sort field of the form
CASE [this] WHEN [sortList.get(0)] THEN 0 WHEN [sortList.get(1)] THEN 1 ... WHEN [sortList.get(n)] THEN n ELSE null END ASC
Note: You can use this in combination with
SortField.nullsFirst()
orSortField.nullsLast()
to specify whether the default should have highest or lowest priority. -
sortAsc
Description copied from interface:Field
Create an indirected sort field.Create a sort field of the form
CASE [this] WHEN [sortList[0]] THEN 0 WHEN [sortList[1]] THEN 1 ... WHEN [sortList[n]] THEN n ELSE null END ASC
Note: You can use this in combination with
SortField.nullsFirst()
orSortField.nullsLast()
to specify whether the default should have highest or lowest priority. -
sortDesc
Description copied from interface:Field
Create an indirected sort field.Create a sort field of the form
CASE [this] WHEN [sortList.get(0)] THEN 0 WHEN [sortList.get(1)] THEN 1 ... WHEN [sortList.get(n)] THEN n ELSE null END DESC
Note: You can use this in combination with
SortField.nullsFirst()
orSortField.nullsLast()
to specify whether the default should have highest or lowest priority. -
sortDesc
Description copied from interface:Field
Create an indirected sort field.Create a sort field of the form
CASE [this] WHEN [sortList[0]] THEN 0 WHEN [sortList[1]] THEN 1 ... WHEN [sortList[n]] THEN n ELSE null END DESC
Note: You can use this in combination with
SortField.nullsFirst()
orSortField.nullsLast()
to specify whether the default should have highest or lowest priority. -
sort
Description copied from interface:Field
Create an indirected sort field.Create a sort field of the form (in pseudo code)
CASE [this] WHEN [sortMap.key(0)] THEN sortMap.value(0) WHEN [sortMap.key(1)] THEN sortMap.value(1) ... WHEN [sortMap.key(n)] THEN sortMap.value(n) ELSE null END DESC
Note: You can use this in combination with
SortField.nullsFirst()
orSortField.nullsLast()
to specify whether the default should have highest or lowest priority. -
nullsFirst
Description copied from interface:Field
Convenience method forField.sortDefault()
and thenSortField.nullsFirst()
.- Specified by:
nullsFirst
in interfaceField<T>
-
nullsLast
Description copied from interface:Field
Convenience method forField.sortDefault()
and thenSortField.nullsLast()
. -
binaryLike
Description copied from interface:Field
TheBINARY_LIKE
operator.The LIKE operator for binary strings
- Specified by:
binaryLike
in interfaceField<T>
-
binaryLike
Description copied from interface:Field
TheBINARY_LIKE
operator.The LIKE operator for binary strings
- Specified by:
binaryLike
in interfaceField<T>
-
binaryLike
Description copied from interface:Field
TheBINARY_LIKE
operator.The LIKE operator for binary strings
- Specified by:
binaryLike
in interfaceField<T>
-
eq
Description copied from interface:Field
TheEQ
operator. -
eq
Description copied from interface:Field
TheEQ
operator. -
eq
Description copied from interface:Field
TheEQ
operator. -
eq
Description copied from interface:Field
TheEQ
operator. -
equal
Description copied from interface:Field
TheEQUAL
operator, an alias for theEQ
operator. -
equal
Description copied from interface:Field
TheEQUAL
operator, an alias for theEQ
operator. -
equal
Description copied from interface:Field
TheEQUAL
operator, an alias for theEQ
operator. -
equal
Description copied from interface:Field
TheEQUAL
operator, an alias for theEQ
operator. -
ge
Description copied from interface:Field
TheGE
operator. -
ge
Description copied from interface:Field
TheGE
operator. -
ge
Description copied from interface:Field
TheGE
operator. -
ge
Description copied from interface:Field
TheGE
operator. -
greaterOrEqual
Description copied from interface:Field
TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.- Specified by:
greaterOrEqual
in interfaceField<T>
-
greaterOrEqual
Description copied from interface:Field
TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.- Specified by:
greaterOrEqual
in interfaceField<T>
-
greaterOrEqual
Description copied from interface:Field
TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.- Specified by:
greaterOrEqual
in interfaceField<T>
-
greaterOrEqual
Description copied from interface:Field
TheGREATER_OR_EQUAL
operator, an alias for theGE
operator.- Specified by:
greaterOrEqual
in interfaceField<T>
-
greaterThan
Description copied from interface:Field
TheGREATER_THAN
operator, an alias for theGT
operator.- Specified by:
greaterThan
in interfaceField<T>
-
greaterThan
Description copied from interface:Field
TheGREATER_THAN
operator, an alias for theGT
operator.- Specified by:
greaterThan
in interfaceField<T>
-
greaterThan
Description copied from interface:Field
TheGREATER_THAN
operator, an alias for theGT
operator.- Specified by:
greaterThan
in interfaceField<T>
-
greaterThan
Description copied from interface:Field
TheGREATER_THAN
operator, an alias for theGT
operator.- Specified by:
greaterThan
in interfaceField<T>
-
gt
Description copied from interface:Field
TheGT
operator. -
gt
Description copied from interface:Field
TheGT
operator. -
gt
Description copied from interface:Field
TheGT
operator. -
gt
Description copied from interface:Field
TheGT
operator. -
in
Description copied from interface:Field
TheIN
operator.The subquery must return exactly one field. This is not checked by jOOQ and will result in syntax errors in the database, if not used correctly.
-
isDistinctFrom
Description copied from interface:Field
TheIS_DISTINCT_FROM
operator.The DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for non-equality
- Specified by:
isDistinctFrom
in interfaceField<T>
-
isDistinctFrom
Description copied from interface:Field
TheIS_DISTINCT_FROM
operator.The DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for non-equality
- Specified by:
isDistinctFrom
in interfaceField<T>
-
isDistinctFrom
Description copied from interface:Field
TheIS_DISTINCT_FROM
operator.The DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for non-equality
- Specified by:
isDistinctFrom
in interfaceField<T>
-
isNull
Description copied from interface:Field
TheIS_NULL
operator. -
isNotDistinctFrom
Description copied from interface:Field
TheIS_NOT_DISTINCT_FROM
operator.The NOT DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for equality
- Specified by:
isNotDistinctFrom
in interfaceField<T>
-
isNotDistinctFrom
Description copied from interface:Field
TheIS_NOT_DISTINCT_FROM
operator.The NOT DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for equality
- Specified by:
isNotDistinctFrom
in interfaceField<T>
-
isNotDistinctFrom
Description copied from interface:Field
TheIS_NOT_DISTINCT_FROM
operator.The NOT DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for equality
- Specified by:
isNotDistinctFrom
in interfaceField<T>
-
isNotNull
Description copied from interface:Field
TheIS_NOT_NULL
operator. -
le
Description copied from interface:Field
TheLE
operator. -
le
Description copied from interface:Field
TheLE
operator. -
le
Description copied from interface:Field
TheLE
operator. -
le
Description copied from interface:Field
TheLE
operator. -
lessOrEqual
Description copied from interface:Field
TheLESS_OR_EQUAL
operator, an alias for theLE
operator.- Specified by:
lessOrEqual
in interfaceField<T>
-
lessOrEqual
Description copied from interface:Field
TheLESS_OR_EQUAL
operator, an alias for theLE
operator.- Specified by:
lessOrEqual
in interfaceField<T>
-
lessOrEqual
Description copied from interface:Field
TheLESS_OR_EQUAL
operator, an alias for theLE
operator.- Specified by:
lessOrEqual
in interfaceField<T>
-
lessOrEqual
Description copied from interface:Field
TheLESS_OR_EQUAL
operator, an alias for theLE
operator.- Specified by:
lessOrEqual
in interfaceField<T>
-
lessThan
Description copied from interface:Field
TheLESS_THAN
operator, an alias for theLT
operator. -
lessThan
Description copied from interface:Field
TheLESS_THAN
operator, an alias for theLT
operator. -
lessThan
Description copied from interface:Field
TheLESS_THAN
operator, an alias for theLT
operator. -
lessThan
Description copied from interface:Field
TheLESS_THAN
operator, an alias for theLT
operator. -
like
Description copied from interface:Field
TheLIKE
operator.- Specified by:
like
in interfaceField<T>
- Parameters:
pattern
- is wrapped asDSL.val(Object)
.
-
like
Description copied from interface:Field
TheLIKE
operator. -
like
Description copied from interface:Field
TheLIKE
operator. -
likeIgnoreCase
Description copied from interface:Field
TheLIKE_IGNORE_CASE
operator.Create a condition to case-insensitively pattern-check this field against a value.
This translates to
this ilike value
inSQLDialect.POSTGRES
, or tolower(this) like lower(value)
in all other dialects.- Specified by:
likeIgnoreCase
in interfaceField<T>
- Parameters:
pattern
- is wrapped asDSL.val(Object)
.
-
likeIgnoreCase
Description copied from interface:Field
TheLIKE_IGNORE_CASE
operator.Create a condition to case-insensitively pattern-check this field against a value.
This translates to
this ilike value
inSQLDialect.POSTGRES
, or tolower(this) like lower(value)
in all other dialects.- Specified by:
likeIgnoreCase
in interfaceField<T>
-
lt
Description copied from interface:Field
TheLT
operator. -
lt
Description copied from interface:Field
TheLT
operator. -
lt
Description copied from interface:Field
TheLT
operator. -
lt
Description copied from interface:Field
TheLT
operator. -
ne
Description copied from interface:Field
TheNE
operator. -
ne
Description copied from interface:Field
TheNE
operator. -
ne
Description copied from interface:Field
TheNE
operator. -
ne
Description copied from interface:Field
TheNE
operator. -
notBinaryLike
Description copied from interface:Field
TheNOT_BINARY_LIKE
operator.The NOT LIKE operator for binary strings
- Specified by:
notBinaryLike
in interfaceField<T>
-
notBinaryLike
Description copied from interface:Field
TheNOT_BINARY_LIKE
operator.The NOT LIKE operator for binary strings
- Specified by:
notBinaryLike
in interfaceField<T>
-
notBinaryLike
Description copied from interface:Field
TheNOT_BINARY_LIKE
operator.The NOT LIKE operator for binary strings
- Specified by:
notBinaryLike
in interfaceField<T>
-
notEqual
Description copied from interface:Field
TheNOT_EQUAL
operator, an alias for theNE
operator. -
notEqual
Description copied from interface:Field
TheNOT_EQUAL
operator, an alias for theNE
operator. -
notEqual
Description copied from interface:Field
TheNOT_EQUAL
operator, an alias for theNE
operator. -
notEqual
Description copied from interface:Field
TheNOT_EQUAL
operator, an alias for theNE
operator. -
notIn
Description copied from interface:Field
TheNOT_IN
operator.The subquery must return exactly one field. This is not checked by jOOQ and will result in syntax errors in the database, if not used correctly.
If any of the passed values is
NULL
, then the condition will beNULL
(orfalse
, depending on the dialect) as well. This is standard SQL behaviour. -
notLike
Description copied from interface:Field
TheNOT_LIKE
operator.- Specified by:
notLike
in interfaceField<T>
- Parameters:
pattern
- is wrapped asDSL.val(Object)
.
-
notLike
Description copied from interface:Field
TheNOT_LIKE
operator. -
notLike
Description copied from interface:Field
TheNOT_LIKE
operator. -
notLikeIgnoreCase
Description copied from interface:Field
TheNOT_LIKE_IGNORE_CASE
operator.Create a condition to case-insensitively pattern-check this field against a value.
This translates to
this not ilike value
inSQLDialect.POSTGRES
, or tolower(this) not like lower(value)
in all other dialects.- Specified by:
notLikeIgnoreCase
in interfaceField<T>
- Parameters:
pattern
- is wrapped asDSL.val(Object)
.
-
notLikeIgnoreCase
Description copied from interface:Field
TheNOT_LIKE_IGNORE_CASE
operator.Create a condition to case-insensitively pattern-check this field against a value.
This translates to
this not ilike value
inSQLDialect.POSTGRES
, or tolower(this) not like lower(value)
in all other dialects.- Specified by:
notLikeIgnoreCase
in interfaceField<T>
-
notSimilarTo
Description copied from interface:Field
TheNOT_SIMILAR_TO
operator.- Specified by:
notSimilarTo
in interfaceField<T>
- Parameters:
pattern
- is wrapped asDSL.val(Object)
.
-
notSimilarTo
Description copied from interface:Field
TheNOT_SIMILAR_TO
operator.- Specified by:
notSimilarTo
in interfaceField<T>
-
notSimilarTo
Description copied from interface:Field
TheNOT_SIMILAR_TO
operator.- Specified by:
notSimilarTo
in interfaceField<T>
-
similarTo
Description copied from interface:Field
TheSIMILAR_TO
operator.- Specified by:
similarTo
in interfaceField<T>
- Parameters:
pattern
- is wrapped asDSL.val(Object)
.
-
similarTo
Description copied from interface:Field
TheSIMILAR_TO
operator. -
similarTo
Description copied from interface:Field
TheSIMILAR_TO
operator. -
isDocument
Description copied from interface:Field
TheIS_DOCUMENT
operator.Create a condition to check if this field contains XML data.
- Specified by:
isDocument
in interfaceField<T>
-
isNotDocument
Description copied from interface:Field
TheIS_NOT_DOCUMENT
operator.Create a condition to check if this field does not contain XML data.
- Specified by:
isNotDocument
in interfaceField<T>
-
isJson
Description copied from interface:Field
TheIS_JSON
operator.Create a condition to check if this field contains JSON data.
-
isNotJson
Description copied from interface:Field
TheIS_NOT_JSON
operator.Create a condition to check if this field does not contain JSON data.
-
bitAnd
Description copied from interface:Field
TheBIT_AND
operator.- Specified by:
bitAnd
in interfaceField<T>
- Parameters:
arg2
- is wrapped asDSL.val(Object)
.
-
bitAnd
Description copied from interface:Field
TheBIT_AND
operator. -
bitNand
Description copied from interface:Field
TheBIT_NAND
operator.- Specified by:
bitNand
in interfaceField<T>
- Parameters:
arg2
- is wrapped asDSL.val(Object)
.
-
bitNand
Description copied from interface:Field
TheBIT_NAND
operator. -
bitNor
Description copied from interface:Field
TheBIT_NOR
operator.- Specified by:
bitNor
in interfaceField<T>
- Parameters:
arg2
- is wrapped asDSL.val(Object)
.
-
bitNor
Description copied from interface:Field
TheBIT_NOR
operator. -
bitNot
Description copied from interface:Field
TheBIT_NOT
operator. -
bitOr
Description copied from interface:Field
TheBIT_OR
operator.- Specified by:
bitOr
in interfaceField<T>
- Parameters:
arg2
- is wrapped asDSL.val(Object)
.
-
bitOr
Description copied from interface:Field
TheBIT_OR
operator. -
bitXNor
Description copied from interface:Field
TheBIT_XNOR
operator.- Specified by:
bitXNor
in interfaceField<T>
- Parameters:
arg2
- is wrapped asDSL.val(Object)
.
-
bitXNor
Description copied from interface:Field
TheBIT_XNOR
operator. -
bitXor
Description copied from interface:Field
TheBIT_XOR
operator.- Specified by:
bitXor
in interfaceField<T>
- Parameters:
arg2
- is wrapped asDSL.val(Object)
.
-
bitXor
Description copied from interface:Field
TheBIT_XOR
operator. -
mod
Description copied from interface:Field
TheMOD
operator.- Specified by:
mod
in interfaceField<T>
- Parameters:
divisor
- is wrapped asDSL.val(Object)
.
-
mod
Description copied from interface:Field
TheMOD
operator. -
modulo
Description copied from interface:Field
TheMODULO
operator, an alias for theMOD
operator.- Specified by:
modulo
in interfaceField<T>
- Parameters:
divisor
- is wrapped asDSL.val(Object)
.
-
modulo
Description copied from interface:Field
TheMODULO
operator, an alias for theMOD
operator. -
rem
Description copied from interface:Field
TheREM
operator, an alias for theMOD
operator.- Specified by:
rem
in interfaceField<T>
- Parameters:
divisor
- is wrapped asDSL.val(Object)
.
-
rem
Description copied from interface:Field
TheREM
operator, an alias for theMOD
operator. -
power
Description copied from interface:Field
ThePOWER
operator.- Specified by:
power
in interfaceField<T>
- Parameters:
exponent
- is wrapped asDSL.val(Object)
.
-
power
Description copied from interface:Field
ThePOWER
operator. -
pow
Description copied from interface:Field
ThePOW
operator, an alias for thePOWER
operator.- Specified by:
pow
in interfaceField<T>
- Parameters:
exponent
- is wrapped asDSL.val(Object)
.
-
pow
Description copied from interface:Field
ThePOW
operator, an alias for thePOWER
operator. -
shl
Description copied from interface:Field
TheSHL
operator.Left shift all bits in a number
-
shl
Description copied from interface:Field
TheSHL
operator.Left shift all bits in a number
-
shr
Description copied from interface:Field
TheSHR
operator.Right shift all bits in a number
-
shr
Description copied from interface:Field
TheSHR
operator.Right shift all bits in a number
-
contains
Description copied from interface:Field
TheCONTAINS
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
this like ('%' || escape(value, '\') || '%') escape '\'
Note: This also works with numbers, for instance
val(1133).contains(13)
If you're using
SQLDialect.POSTGRES
, then you can use this method also to express the "ARRAY contains" operator. For example:// Use this expression val(new Integer[] { 1, 2, 3 }).contains(new Integer[] { 1, 2 }) // ... to render this SQL ARRAY[1, 2, 3] @> ARRAY[1, 2]
Note, this does not correspond to the Oracle Text
CONTAINS()
function. Refer toOracleDSL.contains(Field, String)
instead.- Specified by:
contains
in interfaceField<T>
- Parameters:
content
- is wrapped asDSL.val(Object)
.
-
contains
Description copied from interface:Field
TheCONTAINS
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
this like ('%' || escape(value, '\') || '%') escape '\'
Note: This also works with numbers, for instance
val(1133).contains(13)
If you're using
SQLDialect.POSTGRES
, then you can use this method also to express the "ARRAY contains" operator. For example:// Use this expression val(new Integer[] { 1, 2, 3 }).contains(new Integer[] { 1, 2 }) // ... to render this SQL ARRAY[1, 2, 3] @> ARRAY[1, 2]
Note, this does not correspond to the Oracle Text
CONTAINS()
function. Refer toOracleDSL.contains(Field, String)
instead. -
containsIgnoreCase
Description copied from interface:Field
TheCONTAINS_IGNORE_CASE
operator.Convenience method for
Field.likeIgnoreCase(String, char)
including proper adding of wildcards and escaping.This translates to
this ilike ('%' || escape(value, '\') || '%') escape '\'
inSQLDialect.POSTGRES
, or tolower(this) like lower(('%' || escape(value, '\') || '%') escape '\')
in all other dialects.- Specified by:
containsIgnoreCase
in interfaceField<T>
- Parameters:
content
- is wrapped asDSL.val(Object)
.
-
containsIgnoreCase
Description copied from interface:Field
TheCONTAINS_IGNORE_CASE
operator.Convenience method for
Field.likeIgnoreCase(String, char)
including proper adding of wildcards and escaping.This translates to
this ilike ('%' || escape(value, '\') || '%') escape '\'
inSQLDialect.POSTGRES
, or tolower(this) like lower(('%' || escape(value, '\') || '%') escape '\')
in all other dialects.- Specified by:
containsIgnoreCase
in interfaceField<T>
-
endsWith
Description copied from interface:Field
TheENDS_WITH
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
this like ('%' || escape(value, '\')) escape '\'
Note: This also works with numbers, for instance
val(1133).endsWith(33)
- Specified by:
endsWith
in interfaceField<T>
- Parameters:
suffix
- is wrapped asDSL.val(Object)
.
-
endsWith
Description copied from interface:Field
TheENDS_WITH
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
this like ('%' || escape(value, '\')) escape '\'
Note: This also works with numbers, for instance
val(1133).endsWith(33)
-
endsWithIgnoreCase
Description copied from interface:Field
TheENDS_WITH_IGNORE_CASE
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
lower(this) like ('%' || lower(escape(value, '\'))) escape '\'
Note: This also works with numbers, for instance
val(1133).endsWithIgnoreCase(33)
- Specified by:
endsWithIgnoreCase
in interfaceField<T>
- Parameters:
suffix
- is wrapped asDSL.val(Object)
.
-
endsWithIgnoreCase
Description copied from interface:Field
TheENDS_WITH_IGNORE_CASE
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
lower(this) like ('%' || lower(escape(value, '\'))) escape '\'
Note: This also works with numbers, for instance
val(1133).endsWithIgnoreCase(33)
- Specified by:
endsWithIgnoreCase
in interfaceField<T>
-
startsWith
Description copied from interface:Field
TheSTARTS_WITH
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
this like (escape(value, '\') || '%') escape '\'
Note: This also works with numbers, for instance
val(1133).startsWith(11)
- Specified by:
startsWith
in interfaceField<T>
- Parameters:
prefix
- is wrapped asDSL.val(Object)
.
-
startsWith
Description copied from interface:Field
TheSTARTS_WITH
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
this like (escape(value, '\') || '%') escape '\'
Note: This also works with numbers, for instance
val(1133).startsWith(11)
- Specified by:
startsWith
in interfaceField<T>
-
startsWithIgnoreCase
Description copied from interface:Field
TheSTARTS_WITH_IGNORE_CASE
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
lower(this) like (lower(escape(value, '\')) || '%') escape '\'
Note: This also works with numbers, for instance
val(1133).startsWithIgnoreCase(11)
- Specified by:
startsWithIgnoreCase
in interfaceField<T>
- Parameters:
prefix
- is wrapped asDSL.val(Object)
.
-
startsWithIgnoreCase
Description copied from interface:Field
TheSTARTS_WITH_IGNORE_CASE
operator.Convenience method for
Field.like(String, char)
including proper adding of wildcards and escaping.SQL:
lower(this) like (lower(escape(value, '\')) || '%') escape '\'
Note: This also works with numbers, for instance
val(1133).startsWithIgnoreCase(11)
- Specified by:
startsWithIgnoreCase
in interfaceField<T>
-
plus
Description copied from interface:Field
ThePLUS
operator.Turn this field into an Oracle-specific field for use in outer-join predicates. It can be emulated using
Settings.isTransformTableListsToAnsiJoin()
.Example:
TABLE1.COL.plus().eq(TABLE2.COL); TABLE1.COL.eq(TABLE2.COL.plus());
The above will generate
TABLE1.COL(+) = TABLE2.COL TABLE1.COL = TABLE2.COL(+)
-
neg
Description copied from interface:Field
Negate this field to get its negative value.This renders the same on all dialects:
-[this]
-
unaryMinus
Description copied from interface:Field
Negate this field to get its negative value.This is an alias for
Field.neg()
, which can be recognised by the Kotlin language for operator overloading.- Specified by:
unaryMinus
in interfaceField<T>
-
unaryPlus
Description copied from interface:Field
Get this field as its positive value (no effect on SQL).This can be recognised by the Kotlin language for operator overloading.
-
add
Description copied from interface:Field
An arithmetic expression adding this to value. -
add
Description copied from interface:Field
An arithmetic expression to add value to this.The behaviour of this operation is as follows:
Operand 1 Operand 2 Result Type Numeric Numeric Numeric Date / Time Numeric Date / Time Date / Time Interval Date / Time Interval Interval Interval -
sub
Description copied from interface:Field
An arithmetic expression subtracting value from this. -
sub
Description copied from interface:Field
An arithmetic expression subtracting value from this.Operand 1 Operand 2 Result Type Numeric Numeric Numeric Date / Time Numeric Date / Time Date / Time Interval Date / Time Interval Interval Interval In order to subtract one date time field from another, use any of these methods:
-
mul
Description copied from interface:Field
An arithmetic expression multiplying this with value.- If this is a numeric field, then the result is a number of the same type as this field.
- If this is an
INTERVAL
field, then the result is also anINTERVAL
field (seeInterval
)
-
mul
Description copied from interface:Field
An arithmetic expression multiplying this with value.- If this is a numeric field, then the result is a number of the same type as this field.
- If this is an
INTERVAL
field, then the result is also anINTERVAL
field (seeInterval
)
-
div
Description copied from interface:Field
An arithmetic expression dividing this by value.- If this is a numeric field, then the result is a number of the same type as this field.
- If this is an
INTERVAL
field, then the result is also anINTERVAL
field (seeInterval
)
-
div
Description copied from interface:Field
An arithmetic expression dividing this by value.- If this is a numeric field, then the result is a number of the same type as this field.
- If this is an
INTERVAL
field, then the result is also anINTERVAL
field (seeInterval
)
-
plus
Description copied from interface:Field
An alias forField.add(Number)
. -
plus
Description copied from interface:Field
An alias forField.add(Field)
. -
subtract
Description copied from interface:Field
An alias forField.sub(Number)
. -
subtract
Description copied from interface:Field
An alias forField.sub(Field)
. -
minus
Description copied from interface:Field
An alias forField.sub(Number)
. -
minus
Description copied from interface:Field
An alias forField.sub(Field)
. -
multiply
Description copied from interface:Field
An alias forField.mul(Number)
. -
multiply
Description copied from interface:Field
An alias forField.mul(Field)
. -
times
Description copied from interface:Field
An alias forField.mul(Number)
. -
times
Description copied from interface:Field
An alias forField.mul(Field)
. -
divide
Description copied from interface:Field
An alias forField.div(Number)
. -
divide
Description copied from interface:Field
An alias forField.div(Field)
. -
isTrue
Description copied from interface:Field
Create a condition to check this field against known string literals fortrue
.SQL:
lcase(this) in ("1", "y", "yes", "true", "on", "enabled")
-
isFalse
Description copied from interface:Field
Create a condition to check this field against known string literals forfalse
.SQL:
lcase(this) in ("0", "n", "no", "false", "off", "disabled")
-
similarTo
Description copied from interface:Field
Create a condition to pattern-check this field against a value.SQL:
this similar to value escape 'e'
-
similarTo
Description copied from interface:Field
Create a condition to pattern-check this field against a value.SQL:
this similar to value escape 'e'
-
notSimilarTo
Description copied from interface:Field
Create a condition to pattern-check this field against a value.SQL:
this not similar to value escape 'e'
- Specified by:
notSimilarTo
in interfaceField<T>
- See Also:
-
notSimilarTo
Description copied from interface:Field
Create a condition to pattern-check this field against a field.SQL:
this not similar to field escape 'e'
- Specified by:
notSimilarTo
in interfaceField<T>
- See Also:
-
like
Description copied from interface:Field
Create a condition to pattern-check this field against a value.SQL:
this like value escape 'e'
-
like
Description copied from interface:Field
Create a condition to pattern-check this field against a value.SQL:
this like value escape 'e'
-
likeIgnoreCase
Description copied from interface:Field
Create a condition to case-insensitively pattern-check this field against a value.This translates to
this ilike value
inSQLDialect.POSTGRES
, or tolower(this) like lower(value)
in all other dialects.- Specified by:
likeIgnoreCase
in interfaceField<T>
- See Also:
-
likeIgnoreCase
Description copied from interface:Field
Create a condition to case-insensitively pattern-check this field against a field.This translates to
this ilike field
inSQLDialect.POSTGRES
, or tolower(this) like lower(field)
in all other dialects.- Specified by:
likeIgnoreCase
in interfaceField<T>
- See Also:
-
likeRegex
Description copied from interface:Field
Create a condition to regex-pattern-check this field against a pattern.The SQL:2008 standard specifies a
<regex like predicate>
of the following form:<regex like predicate> ::= <row value predicand> <regex like predicate part 2> <regex like predicate part 2> ::= [ NOT ] LIKE_REGEX <XQuery pattern> [ FLAG <XQuery option flag> ]
This particular
LIKE_REGEX
operator comes in several flavours for various databases. jOOQ supports regular expressions as follows: -
likeRegex
Description copied from interface:Field
Create a condition to regex-pattern-check this field against a pattern.See
Field.likeRegex(String)
for more details -
notLike
Description copied from interface:Field
Create a condition to pattern-check this field against a value.SQL:
this not like value escape 'e'
-
notLike
Description copied from interface:Field
Create a condition to pattern-check this field against a field.SQL:
this not like field escape 'e'
-
notLikeIgnoreCase
Description copied from interface:Field
Create a condition to case-insensitively pattern-check this field against a value.This translates to
this not ilike value
inSQLDialect.POSTGRES
, or tolower(this) not like lower(value)
in all other dialects.- Specified by:
notLikeIgnoreCase
in interfaceField<T>
- See Also:
-
notLikeIgnoreCase
Description copied from interface:Field
Create a condition to case-insensitively pattern-check this field against a field.This translates to
this not ilike field
inSQLDialect.POSTGRES
, or tolower(this) not like lower(field)
in all other dialects.- Specified by:
notLikeIgnoreCase
in interfaceField<T>
- See Also:
-
notLikeRegex
Description copied from interface:Field
Create a condition to regex-pattern-check this field against a pattern.See
Field.likeRegex(String)
for more details- Specified by:
notLikeRegex
in interfaceField<T>
- See Also:
-
notLikeRegex
Description copied from interface:Field
Create a condition to regex-pattern-check this field against a pattern.See
Field.likeRegex(String)
for more details- Specified by:
notLikeRegex
in interfaceField<T>
- See Also:
-
notContains
Description copied from interface:Field
Inverse ofField.contains(Object)
.- Specified by:
notContains
in interfaceField<T>
-
notContains
Description copied from interface:Field
Inverse ofField.contains(Field)
.- Specified by:
notContains
in interfaceField<T>
-
notContainsIgnoreCase
Description copied from interface:Field
Inverse ofField.containsIgnoreCase(Object)
- Specified by:
notContainsIgnoreCase
in interfaceField<T>
-
notContainsIgnoreCase
Description copied from interface:Field
Inverse ofField.containsIgnoreCase(Field)
- Specified by:
notContainsIgnoreCase
in interfaceField<T>
-
in
Description copied from interface:Field
Create a condition to check this field against several values.SQL:
this in (values…)
Note that generating dynamic SQL with arbitrary-length
IN
predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g.SQLDialect.ORACLE
). In order to prevent such problems, you could useSettings.isInListPadding()
to produce less distinct SQL strings (see also [#5600]), or you could avoidIN
lists, and replace them with:IN
predicates on temporary tablesIN
predicates on unnested array bind variables
-
in
Description copied from interface:Field
Create a condition to check this field against several values.SQL:
this in (values…)
-
in
Description copied from interface:Field
Create a condition to check this field against several values.SQL:
this in (values…)
Note that generating dynamic SQL with arbitrary-length
IN
predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g.SQLDialect.ORACLE
). In order to prevent such problems, you could useSettings.isInListPadding()
to produce less distinct SQL strings (see also [#5600]), or you could avoidIN
lists, and replace them with:IN
predicates on temporary tablesIN
predicates on unnested array bind variables
-
in
Description copied from interface:Field
Create a condition to check this field against several values from a previous query.SQL:
this in (values…)
Note that generating dynamic SQL with arbitrary-length
IN
predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g.SQLDialect.ORACLE
). In order to prevent such problems, you could useSettings.isInListPadding()
to produce less distinct SQL strings (see also [#5600]), or you could avoidIN
lists, and replace them with:IN
predicates on temporary tablesIN
predicates on unnested array bind variables
-
notIn
Description copied from interface:Field
Create a condition to check this field against several values.Note that if any of the passed values is
NULL
, then the condition will beNULL
(orfalse
, depending on the dialect) as well. This is standard SQL behaviour.SQL:
this not in (values…)
Note that generating dynamic SQL with arbitrary-length
NOT IN
predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g.SQLDialect.ORACLE
). In order to prevent such problems, you could useSettings.isInListPadding()
to produce less distinct SQL strings (see also [#5600]), or you could avoidIN
lists, and replace them with:NOT IN
predicates on temporary tablesNOT IN
predicates on unnested array bind variables
-
notIn
Description copied from interface:Field
Create a condition to check this field against several values.Note that if any of the passed values is
NULL
, then the condition will beNULL
(orfalse
, depending on the dialect) as well. This is standard SQL behaviour.SQL:
this not in (values…)
-
notIn
Description copied from interface:Field
Create a condition to check this field against several values.Note that if any of the passed values is
NULL
, then the condition will beNULL
(orfalse
, depending on the dialect) as well. This is standard SQL behaviour.SQL:
this not in (values…)
Note that generating dynamic SQL with arbitrary-length
NOT IN
predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g.SQLDialect.ORACLE
). In order to prevent such problems, you could useSettings.isInListPadding()
to produce less distinct SQL strings (see also [#5600]), or you could avoidIN
lists, and replace them with:NOT IN
predicates on temporary tablesNOT IN
predicates on unnested array bind variables
-
notIn
Description copied from interface:Field
Create a condition to check this field against several values from a previous query.Note that if any of the passed values is
NULL
, then the condition will beNULL
(orfalse
, depending on the dialect) as well. This is standard SQL behaviour.SQL:
this in (values…)
Note that generating dynamic SQL with arbitrary-length
NOT IN
predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g.SQLDialect.ORACLE
). In order to prevent such problems, you could useSettings.isInListPadding()
to produce less distinct SQL strings (see also [#5600]), or you could avoidIN
lists, and replace them with:NOT IN
predicates on temporary tablesNOT IN
predicates on unnested array bind variables
-
between
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
between(minValue).and(maxValue)
SQL:
this between minValue and maxValue
-
between
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
between(minValue).and(maxValue)
SQL:
this between minValue and maxValue
-
betweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
betweenSymmetric(minValue).and(maxValue)
SQL:
this between symmetric minValue and maxValue
- Specified by:
betweenSymmetric
in interfaceField<T>
-
betweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
betweenSymmetric(minValue).and(maxValue)
SQL:
this between symmetric minValue and maxValue
- Specified by:
betweenSymmetric
in interfaceField<T>
-
notBetween
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
notBetween(minValue).and(maxValue)
SQL:
this not between minValue and maxValue
- Specified by:
notBetween
in interfaceField<T>
-
notBetween
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
notBetween(minValue).and(maxValue)
SQL:
this not between minValue and maxValue
- Specified by:
notBetween
in interfaceField<T>
-
notBetweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
notBetweenSymmetric(minValue).and(maxValue)
SQL:
this not between symmetric minValue and maxValue
- Specified by:
notBetweenSymmetric
in interfaceField<T>
-
notBetweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.This is the same as calling
notBetweenSymmetric(minValue).and(maxValue)
SQL:
this not between symmetric minValue and maxValue
- Specified by:
notBetweenSymmetric
in interfaceField<T>
-
between
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this between minValue and maxValue
-
between
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this between minValue and maxValue
-
betweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this between symmetric minValue and maxValue
- Specified by:
betweenSymmetric
in interfaceField<T>
-
betweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this between symmetric minValue and maxValue
- Specified by:
betweenSymmetric
in interfaceField<T>
-
notBetween
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this not between minValue and maxValue
- Specified by:
notBetween
in interfaceField<T>
-
notBetween
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this not between minValue and maxValue
- Specified by:
notBetween
in interfaceField<T>
-
notBetweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this not between symmetric minValue and maxValue
- Specified by:
notBetweenSymmetric
in interfaceField<T>
-
notBetweenSymmetric
Description copied from interface:Field
Create a condition to check this field against some bounds.SQL:
this not between symmetric minValue and maxValue
- Specified by:
notBetweenSymmetric
in interfaceField<T>
-
equalIgnoreCase
Description copied from interface:Field
lower(this) = lower(value)
.- Specified by:
equalIgnoreCase
in interfaceField<T>
-
equalIgnoreCase
Description copied from interface:Field
lower(this) = lower(value)
.- Specified by:
equalIgnoreCase
in interfaceField<T>
-
notEqualIgnoreCase
Description copied from interface:Field
lower(this) != lower(value)
.- Specified by:
notEqualIgnoreCase
in interfaceField<T>
-
notEqualIgnoreCase
Description copied from interface:Field
lower(this) != lower(value)
.- Specified by:
notEqualIgnoreCase
in interfaceField<T>
-
compare
Description copied from interface:Field
Compare this field with a value using a dynamic comparator. -
compare
Description copied from interface:Field
Compare this field with another field using a dynamic comparator. -
compare
Description copied from interface:Field
Compare this field with a subselect using a dynamic comparator.Consider
Comparator.supportsSubselect()
to assess whether a comparator can be used with this method. -
compare
Description copied from interface:Field
Compare this field with a quantified subselect using a dynamic comparator.Consider
Comparator.supportsQuantifier()
to assess whether a comparator can be used with this method. -
sign
Deprecated. -
abs
Deprecated. -
round
Deprecated. -
round
Deprecated. -
floor
Deprecated. -
ceil
Deprecated. -
sqrt
Deprecated. -
exp
Deprecated. -
ln
Deprecated. -
log
Deprecated. -
acos
Deprecated. -
asin
Deprecated. -
atan
Deprecated. -
atan2
Deprecated. -
atan2
Deprecated. -
cos
Deprecated. -
sin
Deprecated. -
tan
Deprecated. -
cot
Deprecated. -
sinh
Deprecated. -
cosh
Deprecated. -
tanh
Deprecated. -
coth
Deprecated. -
deg
Deprecated. -
rad
Deprecated. -
count
Deprecated. -
countDistinct
Deprecated.- Specified by:
countDistinct
in interfaceField<T>
- See Also:
-
max
Deprecated. -
min
Deprecated. -
sum
Deprecated. -
avg
Deprecated. -
median
Deprecated. -
stddevPop
Deprecated. -
stddevSamp
Deprecated.- Specified by:
stddevSamp
in interfaceField<T>
- See Also:
-
varPop
Deprecated. -
varSamp
Deprecated. -
countOver
Deprecated. -
maxOver
Deprecated. -
minOver
Deprecated. -
sumOver
Deprecated. -
avgOver
Deprecated. -
firstValue
Deprecated.- Specified by:
firstValue
in interfaceField<T>
- See Also:
-
lastValue
Deprecated. -
lead
Deprecated. -
lead
Deprecated. -
lead
Deprecated. -
lead
Deprecated. -
lag
Deprecated. -
lag
Deprecated. -
lag
Deprecated. -
lag
Deprecated. -
stddevPopOver
Deprecated.- Specified by:
stddevPopOver
in interfaceField<T>
- See Also:
-
stddevSampOver
Deprecated.- Specified by:
stddevSampOver
in interfaceField<T>
- See Also:
-
varPopOver
Deprecated.- Specified by:
varPopOver
in interfaceField<T>
- See Also:
-
varSampOver
Deprecated.- Specified by:
varSampOver
in interfaceField<T>
- See Also:
-
upper
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
lower
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
trim
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
rtrim
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
ltrim
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
rpad
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
rpad
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
rpad
@Deprecated public final Field<String> rpad(Field<? extends Number> length, Field<String> character) Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
rpad
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
lpad
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
lpad
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
lpad
@Deprecated public final Field<String> lpad(Field<? extends Number> length, Field<String> character) Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
lpad
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
repeat
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
repeat
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
replace
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
replace
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
replace
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
replace
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
position
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
position
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
ascii
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
collate
Description copied from interface:Field
Apply a collation operator to this column expression. -
collate
Description copied from interface:Field
Apply a collation operator to this column expression. -
collate
Description copied from interface:Field
Apply a collation operator to this column expression. -
concat
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
concat
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
concat
Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
substring
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
substring
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
substring
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
substring
@Deprecated public final Field<String> substring(Field<? extends Number> startingPosition, Field<? extends Number> length) Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
length
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
charLength
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
- Specified by:
charLength
in interfaceField<T>
- See Also:
-
bitLength
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
octetLength
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
- Specified by:
octetLength
in interfaceField<T>
- See Also:
-
extract
Deprecated. -
greatest
Deprecated. -
greatest
Deprecated. -
least
Deprecated. -
least
Deprecated. -
nvl
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
nvl
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
nvl2
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
nvl2
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
nullif
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
nullif
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
decode
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
decode
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
decode
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
decode
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
coalesce
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
coalesce
Deprecated.Description copied from interface:Field
This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods fromDSLContext
-
getConverter
Description copied from interface:Typed
The object's underlyingConverter
.By default, all typed objects reference an identity-converter
Converter<T, T>
. If an implementation is generated, custom data types may be obtained by a customConverter
placed on the generated object.- Specified by:
getConverter
in interfaceTyped<T>
-
getBinding
Description copied from interface:Typed
The object's underlyingBinding
.- Specified by:
getBinding
in interfaceTyped<T>
-
getType
Description copied from interface:Typed
The Java type of the object. -
getDataType
Description copied from interface:Typed
The type of this object (might not be dialect-specific).- Specified by:
getDataType
in interfaceTyped<T>
-
getDataType
Description copied from interface:Typed
The dialect-specific type of this object.- Specified by:
getDataType
in interfaceTyped<T>
-
$dataType
Description copied from interface:Typed
Experimental query object model accessor method, see alsoQOM
. Subject to change in future jOOQ versions, use at your own risk. -
getName
Description copied from interface:Named
The unqualified name of this object. -
getQualifiedName
Description copied from interface:Named
The qualified name of this object.- Specified by:
getQualifiedName
in interfaceNamed
-
getUnqualifiedName
Description copied from interface:Named
The unqualified name of this object.- Specified by:
getUnqualifiedName
in interfaceNamed
-
getComment
Description copied from interface:Named
The comment on this object.This is the same as calling
Named.getCommentPart()
and thenComment.getComment()
.- Specified by:
getComment
in interfaceNamed
-
getCommentPart
Description copied from interface:Named
The comment on this object as aQueryPart
.- Specified by:
getCommentPart
in interfaceNamed
-
hashCode
public int hashCode()Description copied from interface:QueryPart
Generate a hash code from thisQueryPart
.In general,
QueryPart
hash codes are the same as the hash codes generated fromQueryPart.toString()
. This guarantees consistent behaviour withQueryPart.equals(Object)
Some
QueryPart
implementations may choose to override this behaviour for improved performance, asQueryPart.toString()
is an expensive operation, if called many times. -
equals
Description copied from interface:QueryPart
Check whether thisQueryPart
can be considered equal to anotherQueryPart
.In general,
QueryPart
equality is defined in terms ofQueryPart.toString()
equality. In other words, two query parts are considered equal if their rendered SQL (with inlined bind variables) is equal. This means that the two query parts do not necessarily have to be of the same type.Some
QueryPart
implementations may choose to override this behaviour for improved performance, asQueryPart.toString()
is an expensive operation, if called many times. -
$name
Description copied from interface:Named
Experimental query object model accessor method, see alsoQOM
. Subject to change in future jOOQ versions, use at your own risk. -
rendersContent
Subclasses may override this- Specified by:
rendersContent
in interfaceQueryPartInternal
-
declaresWindows
public boolean declaresWindows()Subclasses may override this- Specified by:
declaresWindows
in interfaceQueryPartInternal
-
declaresCTE
public boolean declaresCTE()Subclasses may override this- Specified by:
declaresCTE
in interfaceQueryPartInternal
-
declaresParameters
Subclasses may override this- Specified by:
declaresParameters
in interfaceQueryPartInternal
-
generatesCast
public boolean generatesCast()Subclasses may override this- Specified by:
generatesCast
in interfaceQueryPartInternal
-
toString
Description copied from interface:QueryPart
Render a SQL string representation of thisQueryPart
.For improved debugging, this renders a SQL string of this
QueryPart
with inlined bind variables. If thisQueryPart
isAttachable
, then the attachedConfiguration
may be used for rendering the SQL string, includingSQLDialect
andSettings
. Do note that mostQueryPart
instances are not attached to aConfiguration
, and thus there is no guarantee that the SQL string will make sense in the context of a specific database. -
create
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.Internal convenience method -
create
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.Internal convenience method -
create
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()
andConfiguration.dsl()
instead.Internal convenience method -
translate
Internal convenience method
-
Attachable.configuration()
andConfiguration.dsl()
instead.