- All Superinterfaces:
FieldOrRow
,FieldOrRowOrSelect
,Fields
,Named
,QueryPart
,Row
,SelectField<Record2<T1,
,T2>> SelectFieldOrAsterisk
,Serializable
,Typed<Record2<T1,
T2>>
Row value expressions are mainly useful for use in predicates, when comparing several values in one go, which can be more elegant than expanding the row value expression predicate in other equivalent syntaxes. This is especially true for non-equality predicates. For instance, the following two predicates are equivalent in SQL:
(A, B) > (X, Y)
(A > X) OR (A = X AND B > Y)
Example:
// Assuming import static org.jooq.impl.DSL.*;
using(configuration)
.select()
.from(CUSTOMER)
.where(row(CUSTOMER.FIRST_NAME, CUSTOMER.LAST_NAME).in(
select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME).from(ACTOR)
))
.fetch();
Note: Not all databases support row value expressions, but many row value expression operations can be emulated on all databases. See relevant row value expression method Javadocs for details.
Instances can be created using DSL.row(Object...)
and overloads.
- Author:
- Lukas Eder
-
Method Summary
Modifier and TypeMethodDescription@NotNull BetweenAndStep2<T1,
T2> Check if this row value expression is within a range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> Check if this row value expression is within a range of two records.@NotNull Condition
Check if this row value expression is within a range of two records.@NotNull BetweenAndStep2<T1,
T2> Check if this row value expression is within a range of two other row value expressions.@NotNull Condition
Check if this row value expression is within a range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> Check if this row value expression is within a range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> betweenSymmetric
(Field<T1> minValue1, Field<T2> minValue2) Check if this row value expression is within a symmetric range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> betweenSymmetric
(Record2<T1, T2> minValue) Check if this row value expression is within a symmetric range of two records.@NotNull Condition
Check if this row value expression is within a symmetric range of two records.@NotNull BetweenAndStep2<T1,
T2> betweenSymmetric
(Row2<T1, T2> minValue) Check if this row value expression is within a symmetric range of two other row value expressions.@NotNull Condition
Check if this row value expression is within a symmetric range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> betweenSymmetric
(T1 minValue1, T2 minValue2) Check if this row value expression is within a symmetric range of two other row value expressions.@NotNull Condition
Compare this row value expression with another row value expression using a dynamic comparator.@NotNull Condition
compare
(Comparator comparator, QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect using a dynamic comparator.@NotNull Condition
compare
(Comparator comparator, Record2<T1, T2> record) Compare this row value expression with a record using a dynamic comparator.@NotNull Condition
compare
(Comparator comparator, Row2<T1, T2> row) Compare this row value expression with another row value expression using a dynamic comparator.@NotNull Condition
Compare this row value expression with a subselect using a dynamic comparator.@NotNull Condition
compare
(Comparator comparator, T1 t1, T2 t2) Compare this row value expression with another row value expression using a dynamic comparator.@NotNull Condition
Compare this row value expression with another row value expression for equality.@NotNull Condition
eq
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for equality.@NotNull Condition
Compare this row value expression with a record for equality.@NotNull Condition
Compare this row value expression with another row value expression for equality.@NotNull Condition
Compare this row value expression with a subselect for equality.@NotNull Condition
Compare this row value expression with another row value expression for equality.@NotNull Condition
Compare this row value expression with another row value expression for equality.@NotNull Condition
equal
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for equality.@NotNull Condition
Compare this row value expression with a record for equality.@NotNull Condition
Compare this row value expression with another row value expression for equality.@NotNull Condition
Compare this row value expression with a subselect for equality.@NotNull Condition
Compare this row value expression with another row value expression for equality.field1()
Get the first field.field2()
Get the second field.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
ge
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with a record for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
greaterOrEqual
(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for order.@NotNull Condition
greaterOrEqual
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
greaterOrEqual
(Record2<T1, T2> record) Compare this row value expression with a record for order.@NotNull Condition
greaterOrEqual
(Row2<T1, T2> row) Compare this row value expression with another row value expression for order.@NotNull Condition
greaterOrEqual
(Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
greaterOrEqual
(T1 t1, T2 t2) Compare this row value expression with another row value expression for order.@NotNull Condition
greaterThan
(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for order.@NotNull Condition
greaterThan
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
greaterThan
(Record2<T1, T2> record) Compare this row value expression with a record for order.@NotNull Condition
greaterThan
(Row2<T1, T2> row) Compare this row value expression with another row value expression for order.@NotNull Condition
greaterThan
(Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
greaterThan
(T1 t1, T2 t2) Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
gt
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with a record for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
in
(Collection<? extends Row2<T1, T2>> rows) Compare this row value expression with a set of row value expressions for equality.@NotNull Condition
Compare this row value expression with a set of records for equality.@NotNull Condition
Compare this row value expression with a set of records for equality.@NotNull Condition
Compare this row value expression with a set of row value expressions for equality.@NotNull Condition
Compare this row value expression with a subselect for equality.@NotNull Condition
isDistinctFrom
(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isDistinctFrom
(Record2<T1, T2> record) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isDistinctFrom
(Row2<T1, T2> row) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isDistinctFrom
(Select<? extends Record2<T1, T2>> select) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isDistinctFrom
(T1 t1, T2 t2) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isNotDistinctFrom
(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isNotDistinctFrom
(Record2<T1, T2> record) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isNotDistinctFrom
(Row2<T1, T2> row) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isNotDistinctFrom
(Select<? extends Record2<T1, T2>> select) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
isNotDistinctFrom
(T1 t1, T2 t2) Compare this row value expression with another row value expression for distinctness.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
le
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with a record for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
lessOrEqual
(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for order.@NotNull Condition
lessOrEqual
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
lessOrEqual
(Record2<T1, T2> record) Compare this row value expression with a record for order.@NotNull Condition
lessOrEqual
(Row2<T1, T2> row) Compare this row value expression with another row value expression for order.@NotNull Condition
lessOrEqual
(Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
lessOrEqual
(T1 t1, T2 t2) Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
lessThan
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with a record for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
lt
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with a record for order.@NotNull Condition
Compare this row value expression with another row value expression for order.@NotNull Condition
Compare this row value expression with a subselect for order.@NotNull Condition
Compare this row value expression with another row value expression for order.<U> @NotNull SelectField<U>
A convenience method to define a localRecord2
to custom typeRecordMapper
that can be used when projectingRow
types inSELECT
orRETURNING
clauses.<U> @NotNull SelectField<U>
A convenience method to define a localRecord2
to custom typeRecordMapper
that can be used when projectingRow
types inSELECT
orRETURNING
clauses.@NotNull Condition
Compare this row value expression with another row value expression for non-equality.@NotNull Condition
ne
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for non-equality.@NotNull Condition
Compare this row value expression with a record for non-equality.@NotNull Condition
Compare this row value expression with another row value expression for non-equality.@NotNull Condition
Compare this row value expression with a subselect for non-equality.@NotNull Condition
Compare this row value expression with another row value expression for non-equality.@NotNull BetweenAndStep2<T1,
T2> notBetween
(Field<T1> minValue1, Field<T2> minValue2) Check if this row value expression is not within a range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> notBetween
(Record2<T1, T2> minValue) Check if this row value expression is within a range of two records.@NotNull Condition
Check if this row value expression is within a range of two records.@NotNull BetweenAndStep2<T1,
T2> notBetween
(Row2<T1, T2> minValue) Check if this row value expression is not within a range of two other row value expressions.@NotNull Condition
Check if this row value expression is not within a range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> notBetween
(T1 minValue1, T2 minValue2) Check if this row value expression is not within a range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> notBetweenSymmetric
(Field<T1> minValue1, Field<T2> minValue2) Check if this row value expression is not within a symmetric range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> notBetweenSymmetric
(Record2<T1, T2> minValue) Check if this row value expression is not within a symmetric range of two records.@NotNull Condition
Check if this row value expression is not within a symmetric range of two records.@NotNull BetweenAndStep2<T1,
T2> notBetweenSymmetric
(Row2<T1, T2> minValue) Check if this row value expression is not within a symmetric range of two other row value expressions.@NotNull Condition
Check if this row value expression is not within a symmetric range of two other row value expressions.@NotNull BetweenAndStep2<T1,
T2> notBetweenSymmetric
(T1 minValue1, T2 minValue2) Check if this row value expression is not within a symmetric range of two other row value expressions.@NotNull Condition
Compare this row value expression with another row value expression for non-equality.@NotNull Condition
notEqual
(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for non-equality.@NotNull Condition
Compare this row value expression with a record for non-equality@NotNull Condition
Compare this row value expression with another row value expression for non-equality.@NotNull Condition
Compare this row value expression with a subselect for non-equality.@NotNull Condition
Compare this row value expression with another row value expression for.@NotNull Condition
notIn
(Collection<? extends Row2<T1, T2>> rows) Compare this row value expression with a set of row value expressions for equality.@NotNull Condition
Compare this row value expression with a set of records for non-equality.@NotNull Condition
Compare this row value expression with a set of records for equality.@NotNull Condition
Compare this row value expression with a set of row value expressions for equality.@NotNull Condition
Compare this row value expression with a subselect for non-equality.@NotNull Condition
Check if this row value expression overlaps another row value expression.@NotNull Condition
Check if this row value expression overlaps another row value expression.@NotNull Condition
Check if this row value expression overlaps another row value expression.@NotNull Statement
Assign a value to this set of variables.@NotNull Statement
Assign a value to this set of variables.@NotNull Statement
Assign a value to this set of variables.@NotNull Statement
Assign a value to this set of variables.@NotNull Statement
Assign a value to this set of variables.Methods inherited from interface org.jooq.Fields
dataType, dataType, dataType, dataTypes, field, field, field, field, field, field, field, field, field, field, fields, fields, fields, fields, fields, fieldsRow, fieldStream, indexOf, indexOf, indexOf, type, type, type, types
Methods inherited from interface org.jooq.Named
$name, getComment, getCommentPart, getName, getQualifiedName, getUnqualifiedName
Methods inherited from interface org.jooq.QueryPart
$replace, $replace, $traverse, $traverse, equals, hashCode, toString
Methods inherited from interface org.jooq.SelectField
as, as, as, convert, convert, convert, convertFrom, convertFrom, convertTo, convertTo
Methods inherited from interface org.jooq.Typed
$dataType, getBinding, getConverter, getDataType, getDataType, getType
-
Method Details
-
mapping
A convenience method to define a localRecord2
to custom typeRecordMapper
that can be used when projectingRow
types inSELECT
orRETURNING
clauses.This calls through to
SelectField.convertFrom(Function)
, offering some deconstruction over theRecord2
's individual component values.Unlike
mapping(Class, Function2)
, 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.Combine this with e.g.
Functions.nullOnAllNull(Function2)
orFunctions.nullOnAnyNull(Function2)
to achievenull
safety when mapping nested rows fromLEFT JOIN
etc. -
mapping
@NotNull <U> @NotNull SelectField<U> mapping(Class<U> uType, Function2<? super T1, ? super T2, ? extends U> function) A convenience method to define a localRecord2
to custom typeRecordMapper
that can be used when projectingRow
types inSELECT
orRETURNING
clauses.This calls through to
SelectField.convertFrom(Class, Function)
, offering some deconstruction over theRecord2
's individual component values.Combine this with e.g.
Functions.nullOnAllNull(Function2)
orFunctions.nullOnAnyNull(Function2)
to achievenull
safety when mapping nested rows fromLEFT JOIN
etc. -
field1
Get the first field. -
field2
Get the second field. -
compare
Compare this row value expression with another row value expression using a dynamic comparator.See the explicit comparison methods for details. Note, not all
Comparator
types are supported -
compare
Compare this row value expression with a record using a dynamic comparator.See the explicit comparison methods for details. Note, not all
Comparator
types are supported -
compare
Compare this row value expression with another row value expression using a dynamic comparator.See the explicit comparison methods for details. Note, not all
Comparator
types are supported -
compare
Compare this row value expression with another row value expression using a dynamic comparator.See the explicit comparison methods for details. Note, not all
Comparator
types are supported -
compare
@NotNull @Support @NotNull Condition compare(Comparator comparator, Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect using a dynamic comparator.See the explicit comparison methods for details. Note, not all
Comparator
types are supported -
compare
@NotNull @Support @NotNull Condition compare(Comparator comparator, QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect using a dynamic comparator.See the explicit comparison methods for details. Note, not all
Comparator
types are supported -
equal
Compare this row value expression with another row value expression for equality.Row equality comparison predicates can be emulated in those databases that do not support such predicates natively:
(A, B) = (1, 2)
is equivalent toA = 1 AND B = 2
-
equal
Compare this row value expression with a record for equality.- See Also:
-
equal
Compare this row value expression with another row value expression for equality.- See Also:
-
equal
Compare this row value expression with another row value expression for equality.- See Also:
-
equal
Compare this row value expression with a subselect for equality.- See Also:
-
equal
Compare this row value expression with a subselect for equality. -
eq
Compare this row value expression with another row value expression for equality.- See Also:
-
eq
Compare this row value expression with a record for equality.- See Also:
-
eq
Compare this row value expression with another row value expression for equality.- See Also:
-
eq
Compare this row value expression with another row value expression for equality.- See Also:
-
eq
Compare this row value expression with a subselect for equality.- See Also:
-
eq
Compare this row value expression with a subselect for equality. -
notEqual
Compare this row value expression with another row value expression for non-equality.Row non-equality comparison predicates can be emulated in those databases that do not support such predicates natively:
(A, B) <> (1, 2)
is equivalent toNOT(A = 1 AND B = 2)
-
notEqual
Compare this row value expression with a record for non-equality- See Also:
-
notEqual
Compare this row value expression with another row value expression for. non-equality- See Also:
-
notEqual
Compare this row value expression with another row value expression for non-equality.- See Also:
-
notEqual
Compare this row value expression with a subselect for non-equality.- See Also:
-
notEqual
Compare this row value expression with a subselect for non-equality. -
ne
Compare this row value expression with another row value expression for non-equality.- See Also:
-
ne
Compare this row value expression with a record for non-equality.- See Also:
-
ne
Compare this row value expression with another row value expression for non-equality.- See Also:
-
ne
Compare this row value expression with another row value expression for non-equality.- See Also:
-
ne
Compare this row value expression with a subselect for non-equality.- See Also:
-
ne
Compare this row value expression with a subselect for non-equality. -
isDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isNotDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isNotDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isNotDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isNotDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
isNotDistinctFrom
Compare this row value expression with another row value expression for distinctness. -
lessThan
Compare this row value expression with another row value expression for order.Row order comparison predicates can be emulated in those databases that do not support such predicates natively:
(A, B, C) < (1, 2, 3)
is equivalent toA < 1 OR (A = 1 AND B < 2) OR (A = 1 AND B = 2 AND C < 3)
-
lessThan
Compare this row value expression with a record for order.- See Also:
-
lessThan
Compare this row value expression with another row value expression for order.- See Also:
-
lessThan
Compare this row value expression with another row value expression for order.- See Also:
-
lessThan
Compare this row value expression with a subselect for order.- See Also:
-
lessThan
Compare this row value expression with a subselect for order. -
lt
Compare this row value expression with another row value expression for order.- See Also:
-
lt
Compare this row value expression with a record for order.- See Also:
-
lt
Compare this row value expression with another row value expression for order.- See Also:
-
lt
Compare this row value expression with another row value expression for order.- See Also:
-
lt
Compare this row value expression with a subselect for order.- See Also:
-
lt
Compare this row value expression with a subselect for order. -
lessOrEqual
Compare this row value expression with another row value expression for order.Row order comparison predicates can be emulated in those databases that do not support such predicates natively:
(A, B) <= (1, 2)
is equivalent toA < 1 OR (A = 1 AND B < 2) OR (A = 1 AND B = 2)
-
lessOrEqual
Compare this row value expression with a record for order.- See Also:
-
lessOrEqual
Compare this row value expression with another row value expression for order.- See Also:
-
lessOrEqual
Compare this row value expression with another row value expression for order.- See Also:
-
lessOrEqual
Compare this row value expression with a subselect for order.- See Also:
-
lessOrEqual
Compare this row value expression with a subselect for order. -
le
Compare this row value expression with another row value expression for order.- See Also:
-
le
Compare this row value expression with a record for order.- See Also:
-
le
Compare this row value expression with another row value expression for order.- See Also:
-
le
Compare this row value expression with another row value expression for order.- See Also:
-
le
Compare this row value expression with a subselect for order.- See Also:
-
le
Compare this row value expression with a subselect for order. -
greaterThan
Compare this row value expression with another row value expression for order.Row order comparison predicates can be emulated in those databases that do not support such predicates natively:
(A, B, C) > (1, 2, 3)
is equivalent toA > 1 OR (A = 1 AND B > 2) OR (A = 1 AND B = 2 AND C > 3)
-
greaterThan
Compare this row value expression with a record for order.- See Also:
-
greaterThan
Compare this row value expression with another row value expression for order.- See Also:
-
greaterThan
Compare this row value expression with another row value expression for order.- See Also:
-
greaterThan
Compare this row value expression with a subselect for order.- See Also:
-
greaterThan
Compare this row value expression with a subselect for order. -
gt
Compare this row value expression with another row value expression for order.- See Also:
-
gt
Compare this row value expression with a record for order.- See Also:
-
gt
Compare this row value expression with another row value expression for order.- See Also:
-
gt
Compare this row value expression with another row value expression for order.- See Also:
-
gt
Compare this row value expression with a subselect for order.- See Also:
-
gt
Compare this row value expression with a subselect for order. -
greaterOrEqual
Compare this row value expression with another row value expression for order.Row order comparison predicates can be emulated in those databases that do not support such predicates natively:
(A, B) >= (1, 2)
is equivalent toA > 1 OR (A = 1 AND B > 2) OR (A = 1 AND B = 2)
-
greaterOrEqual
Compare this row value expression with a record for order.- See Also:
-
greaterOrEqual
Compare this row value expression with another row value expression for order.- See Also:
-
greaterOrEqual
Compare this row value expression with another row value expression for order.- See Also:
-
greaterOrEqual
Compare this row value expression with a subselect for order.- See Also:
-
greaterOrEqual
@NotNull @Support @NotNull Condition greaterOrEqual(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order. -
ge
Compare this row value expression with another row value expression for order.- See Also:
-
ge
Compare this row value expression with a record for order.- See Also:
-
ge
Compare this row value expression with another row value expression for order.- See Also:
-
ge
Compare this row value expression with another row value expression for order.- See Also:
-
ge
Compare this row value expression with a subselect for order.- See Also:
-
ge
Compare this row value expression with a subselect for order. -
between
Check if this row value expression is within a range of two other row value expressions.- See Also:
-
between
Check if this row value expression is within a range of two other row value expressions.- See Also:
-
between
Check if this row value expression is within a range of two other row value expressions.- See Also:
-
between
Check if this row value expression is within a range of two records.- See Also:
-
between
Check if this row value expression is within a range of two other row value expressions.This is the same as calling
between(minValue).and(maxValue)
The expression
A BETWEEN B AND C
is equivalent to the expressionA >= B AND A <= C
for those SQL dialects that do not properly support theBETWEEN
predicate for row value expressions -
between
Check if this row value expression is within a range of two records.This is the same as calling
between(minValue).and(maxValue)
- See Also:
-
betweenSymmetric
Check if this row value expression is within a symmetric range of two other row value expressions.- See Also:
-
betweenSymmetric
@NotNull @Support @NotNull BetweenAndStep2<T1,T2> betweenSymmetric(Field<T1> minValue1, Field<T2> minValue2) Check if this row value expression is within a symmetric range of two other row value expressions.- See Also:
-
betweenSymmetric
Check if this row value expression is within a symmetric range of two other row value expressions.- See Also:
-
betweenSymmetric
Check if this row value expression is within a symmetric range of two records.- See Also:
-
betweenSymmetric
Check if this row value expression is within a symmetric range of two other row value expressions.This is the same as calling
betweenSymmetric(minValue).and(maxValue)
The expression
A BETWEEN SYMMETRIC B AND C
is equivalent to the expression(A >= B AND A <= C) OR (A >= C AND A <= B)
for those SQL dialects that do not properly support theBETWEEN
predicate for row value expressions -
betweenSymmetric
@NotNull @Support @NotNull Condition betweenSymmetric(Record2<T1, T2> minValue, Record2<T1, T2> maxValue) Check if this row value expression is within a symmetric range of two records.This is the same as calling
betweenSymmetric(minValue).and(maxValue)
- See Also:
-
notBetween
Check if this row value expression is not within a range of two other row value expressions.- See Also:
-
notBetween
@NotNull @Support @NotNull BetweenAndStep2<T1,T2> notBetween(Field<T1> minValue1, Field<T2> minValue2) Check if this row value expression is not within a range of two other row value expressions.- See Also:
-
notBetween
Check if this row value expression is not within a range of two other row value expressions.- See Also:
-
notBetween
Check if this row value expression is within a range of two records.- See Also:
-
notBetween
Check if this row value expression is not within a range of two other row value expressions.This is the same as calling
notBetween(minValue).and(maxValue)
The expression
A NOT BETWEEN B AND C
is equivalent to the expressionA < B OR A > C
for those SQL dialects that do not properly support theBETWEEN
predicate for row value expressions -
notBetween
Check if this row value expression is within a range of two records.This is the same as calling
notBetween(minValue).and(maxValue)
- See Also:
-
notBetweenSymmetric
Check if this row value expression is not within a symmetric range of two other row value expressions.- See Also:
-
notBetweenSymmetric
@NotNull @Support @NotNull BetweenAndStep2<T1,T2> notBetweenSymmetric(Field<T1> minValue1, Field<T2> minValue2) Check if this row value expression is not within a symmetric range of two other row value expressions.- See Also:
-
notBetweenSymmetric
Check if this row value expression is not within a symmetric range of two other row value expressions.- See Also:
-
notBetweenSymmetric
Check if this row value expression is not within a symmetric range of two records.- See Also:
-
notBetweenSymmetric
@NotNull @Support @NotNull Condition notBetweenSymmetric(Row2<T1, T2> minValue, Row2<T1, T2> maxValue) Check if this row value expression is not within a symmetric range of two other row value expressions.This is the same as calling
notBetweenSymmetric(minValue).and(maxValue)
The expression
A NOT BETWEEN SYMMETRIC B AND C
is equivalent to the expression(A < B OR A > C) AND (A < C OR A > B)
for those SQL dialects that do not properly support theBETWEEN
predicate for row value expressions -
notBetweenSymmetric
@NotNull @Support @NotNull Condition notBetweenSymmetric(Record2<T1, T2> minValue, Record2<T1, T2> maxValue) Check if this row value expression is not within a symmetric range of two records.This is the same as calling
notBetweenSymmetric(minValue).and(maxValue)
- See Also:
-
in
Compare this row value expression with a set of row value expressions for equality.Row IN predicates can be emulated in those databases that do not support such predicates natively:
(A, B) IN ((1, 2), (3, 4))
is equivalent to((A, B) = (1, 2)) OR ((A, B) = (3, 4))
, which is equivalent to(A = 1 AND B = 2) OR (A = 3 AND B = 4)
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
- See Also:
-
in
Compare this row value expression with a set of records for equality.Row IN predicates can be emulated in those databases that do not support such predicates natively:
(A, B) IN ((1, 2), (3, 4))
is equivalent to((A, B) = (1, 2)) OR ((A, B) = (3, 4))
, which is equivalent to(A = 1 AND B = 2) OR (A = 3 AND B = 4)
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
Compare this row value expression with a set of row value expressions for equality.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
Compare this row value expression with a set of records for equality.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
- See Also:
-
in
Compare this row value expression with a subselect for equality.- See Also:
-
notIn
Compare this row value expression with a set of row value expressions for equality.Row NOT IN predicates can be emulated in those databases that do not support such predicates natively:
(A, B) NOT IN ((1, 2), (3, 4))
is equivalent toNOT(((A, B) = (1, 2)) OR ((A, B) = (3, 4)))
, which is equivalent toNOT((A = 1 AND B = 2) OR (A = 3 AND B = 4))
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
- See Also:
-
notIn
Compare this row value expression with a set of records for equality.Row NOT IN predicates can be emulated in those databases that do not support such predicates natively:
(A, B) NOT IN ((1, 2), (3, 4))
is equivalent toNOT(((A, B) = (1, 2)) OR ((A, B) = (3, 4)))
, which is equivalent toNOT((A = 1 AND B = 2) OR (A = 3 AND B = 4))
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
Compare this row value expression with a set of row value expressions for equality.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
Compare this row value expression with a set of records for non-equality.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
- See Also:
-
notIn
Compare this row value expression with a subselect for non-equality.- See Also:
-
overlaps
Check if this row value expression overlaps another row value expression.The SQL standard specifies a temporal
OVERLAPS
predicate, which comes in two flavours:(DATE, DATE) OVERLAPS (DATE, DATE)
(DATE, INTERVAL) OVERLAPS (DATE, INTERVAL)
jOOQ also supports arbitrary 2-degree row value expression comparisons, by emulating them as such
-- This predicate (A, B) OVERLAPS (C, D) -- can be emulated as such (C <= B) AND (A <= D)
-
overlaps
Check if this row value expression overlaps another row value expression.The SQL standard specifies a temporal
OVERLAPS
predicate, which comes in two flavours:(DATE, DATE) OVERLAPS (DATE, DATE)
(DATE, INTERVAL) OVERLAPS (DATE, INTERVAL)
jOOQ also supports arbitrary 2-degree row value expression comparisons, by emulating them as such
-- This predicate (A, B) OVERLAPS (C, D) -- can be emulated as such (C <= B) AND (A <= D)
-
overlaps
Check if this row value expression overlaps another row value expression.The SQL standard specifies a temporal
OVERLAPS
predicate, which comes in two flavours:(DATE, DATE) OVERLAPS (DATE, DATE)
(DATE, INTERVAL) OVERLAPS (DATE, INTERVAL)
jOOQ also supports arbitrary 2-degree row value expression comparisons, by emulating them as such
-- This predicate (A, B) OVERLAPS (C, D) -- can be emulated as such (C <= B) AND (A <= D)
-
set
@NotNull @Support({AURORA_POSTGRES,DB2,EXASOL,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,YUGABYTEDB}) @NotNull Statement set(Row2<T1, T2> row) Assign a value to this set of variables. -
set
@NotNull @Support({AURORA_POSTGRES,DB2,EXASOL,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,YUGABYTEDB}) @NotNull Statement set(Record2<T1, T2> record) Assign a value to this set of variables. -
set
@NotNull @Support({AURORA_POSTGRES,DB2,EXASOL,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,YUGABYTEDB}) @NotNull Statement set(T1 t1, T2 t2) Assign a value to this set of variables. -
set
@NotNull @Support({AURORA_POSTGRES,DB2,EXASOL,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,YUGABYTEDB}) @NotNull Statement set(Field<T1> t1, Field<T2> t2) Assign a value to this set of variables. -
set
@NotNull @Support({AURORA_POSTGRES,DB2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLDATAWAREHOUSE,SQLSERVER,YUGABYTEDB}) @NotNull Statement set(Select<? extends Record2<T1, T2>> value) Assign a value to this set of variables.
-