- 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 SummaryModifier 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 ConditionCheck 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 ConditionCheck 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 ConditionCheck 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 ConditionCheck 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 ConditionCompare this row value expression with another row value expression using a dynamic comparator.@NotNull Conditioncompare(Comparator comparator, QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect using a dynamic comparator.@NotNull Conditioncompare(Comparator comparator, Record2<T1, T2> record) Compare this row value expression with a record using a dynamic comparator.@NotNull Conditioncompare(Comparator comparator, Row2<T1, T2> row) Compare this row value expression with another row value expression using a dynamic comparator.@NotNull ConditionCompare this row value expression with a subselect using a dynamic comparator.@NotNull Conditioncompare(Comparator comparator, T1 t1, T2 t2) Compare this row value expression with another row value expression using a dynamic comparator.@NotNull ConditionCompare this row value expression with another row value expression for equality.@NotNull Conditioneq(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for equality.@NotNull ConditionCompare this row value expression with a record for equality.@NotNull ConditionCompare this row value expression with another row value expression for equality.@NotNull ConditionCompare this row value expression with a subselect for equality.@NotNull ConditionCompare this row value expression with another row value expression for equality.@NotNull ConditionCompare this row value expression with another row value expression for equality.@NotNull Conditionequal(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for equality.@NotNull ConditionCompare this row value expression with a record for equality.@NotNull ConditionCompare this row value expression with another row value expression for equality.@NotNull ConditionCompare this row value expression with a subselect for equality.@NotNull ConditionCompare this row value expression with another row value expression for equality.field1()Get the first field.field2()Get the second field.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull Conditionge(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with a record for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditiongreaterOrEqual(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for order.@NotNull ConditiongreaterOrEqual(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditiongreaterOrEqual(Record2<T1, T2> record) Compare this row value expression with a record for order.@NotNull ConditiongreaterOrEqual(Row2<T1, T2> row) Compare this row value expression with another row value expression for order.@NotNull ConditiongreaterOrEqual(Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditiongreaterOrEqual(T1 t1, T2 t2) Compare this row value expression with another row value expression for order.@NotNull ConditiongreaterThan(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for order.@NotNull ConditiongreaterThan(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditiongreaterThan(Record2<T1, T2> record) Compare this row value expression with a record for order.@NotNull ConditiongreaterThan(Row2<T1, T2> row) Compare this row value expression with another row value expression for order.@NotNull ConditiongreaterThan(Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditiongreaterThan(T1 t1, T2 t2) Compare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull Conditiongt(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with a record for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull Conditionin(Collection<? extends Row2<T1, T2>> rows) Compare this row value expression with a set of row value expressions for equality.@NotNull ConditionCompare this row value expression with a set of records for equality.@NotNull ConditionCompare this row value expression with a set of records for equality.@NotNull ConditionCompare this row value expression with a set of row value expressions for equality.@NotNull ConditionCompare this row value expression with a subselect for equality.@NotNull ConditionisDistinctFrom(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisDistinctFrom(Record2<T1, T2> record) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisDistinctFrom(Row2<T1, T2> row) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisDistinctFrom(Select<? extends Record2<T1, T2>> select) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisDistinctFrom(T1 t1, T2 t2) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisNotDistinctFrom(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisNotDistinctFrom(Record2<T1, T2> record) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisNotDistinctFrom(Row2<T1, T2> row) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisNotDistinctFrom(Select<? extends Record2<T1, T2>> select) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionisNotDistinctFrom(T1 t1, T2 t2) Compare this row value expression with another row value expression for distinctness.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull Conditionle(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with a record for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionlessOrEqual(Field<T1> t1, Field<T2> t2) Compare this row value expression with another row value expression for order.@NotNull ConditionlessOrEqual(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionlessOrEqual(Record2<T1, T2> record) Compare this row value expression with a record for order.@NotNull ConditionlessOrEqual(Row2<T1, T2> row) Compare this row value expression with another row value expression for order.@NotNull ConditionlessOrEqual(Select<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionlessOrEqual(T1 t1, T2 t2) Compare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionlessThan(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with a record for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull Conditionlt(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with a record for order.@NotNull ConditionCompare this row value expression with another row value expression for order.@NotNull ConditionCompare this row value expression with a subselect for order.@NotNull ConditionCompare this row value expression with another row value expression for order.<U> @NotNull SelectField<U>A convenience method to define a localRecord2to custom typeRecordMapperthat can be used when projectingRowtypes inSELECTorRETURNINGclauses.<U> @NotNull SelectField<U>A convenience method to define a localRecord2to custom typeRecordMapperthat can be used when projectingRowtypes inSELECTorRETURNINGclauses.@NotNull ConditionCompare this row value expression with another row value expression for non-equality.@NotNull Conditionne(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for non-equality.@NotNull ConditionCompare this row value expression with a record for non-equality.@NotNull ConditionCompare this row value expression with another row value expression for non-equality.@NotNull ConditionCompare this row value expression with a subselect for non-equality.@NotNull ConditionCompare 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 ConditionCheck 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 ConditionCheck 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 ConditionCheck 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 ConditionCheck 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 ConditionCompare this row value expression with another row value expression for non-equality.@NotNull ConditionnotEqual(QuantifiedSelect<? extends Record2<T1, T2>> select) Compare this row value expression with a subselect for non-equality.@NotNull ConditionCompare this row value expression with a record for non-equality@NotNull ConditionCompare this row value expression with another row value expression for non-equality.@NotNull ConditionCompare this row value expression with a subselect for non-equality.@NotNull ConditionCompare this row value expression with another row value expression for.@NotNull ConditionnotIn(Collection<? extends Row2<T1, T2>> rows) Compare this row value expression with a set of row value expressions for equality.@NotNull ConditionCompare this row value expression with a set of records for non-equality.@NotNull ConditionCompare this row value expression with a set of records for equality.@NotNull ConditionCompare this row value expression with a set of row value expressions for equality.@NotNull ConditionCompare this row value expression with a subselect for non-equality.@NotNull ConditionCheck if this row value expression overlaps another row value expression.@NotNull ConditionCheck if this row value expression overlaps another row value expression.@NotNull ConditionCheck if this row value expression overlaps another row value expression.@NotNull StatementAssign a value to this set of variables.@NotNull StatementAssign a value to this set of variables.@NotNull StatementAssign a value to this set of variables.@NotNull StatementAssign a value to this set of variables.@NotNull StatementAssign a value to this set of variables.Methods inherited from interface org.jooq.FieldsdataType, 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, typesMethods inherited from interface org.jooq.Named$name, getComment, getCommentPart, getName, getQualifiedName, getUnqualifiedNameMethods inherited from interface org.jooq.QueryPart$replace, $replace, $traverse, $traverse, equals, hashCode, toStringMethods inherited from interface org.jooq.SelectFieldas, as, as, convert, convert, convert, convertFrom, convertFrom, convertTo, convertToMethods inherited from interface org.jooq.Typed$dataType, getBinding, getConverter, getDataType, getDataType, getType
- 
Method Details- 
mappingA convenience method to define a localRecord2to custom typeRecordMapperthat can be used when projectingRowtypes inSELECTorRETURNINGclauses.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 explicitClassreference 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 achievenullsafety when mapping nested rows fromLEFT JOINetc.
- 
mapping@NotNull <U> @NotNull SelectField<U> mapping(Class<U> uType, Function2<? super T1, ? super T2, ? extends U> function) A convenience method to define a localRecord2to custom typeRecordMapperthat can be used when projectingRowtypes inSELECTorRETURNINGclauses.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 achievenullsafety when mapping nested rows fromLEFT JOINetc.
- 
field1Get the first field.
- 
field2Get the second field.
- 
compareCompare this row value expression with another row value expression using a dynamic comparator.See the explicit comparison methods for details. Note, not all Comparatortypes are supported
- 
compareCompare this row value expression with a record using a dynamic comparator.See the explicit comparison methods for details. Note, not all Comparatortypes are supported
- 
compareCompare this row value expression with another row value expression using a dynamic comparator.See the explicit comparison methods for details. Note, not all Comparatortypes are supported
- 
compareCompare this row value expression with another row value expression using a dynamic comparator.See the explicit comparison methods for details. Note, not all Comparatortypes 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 Comparatortypes 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 Comparatortypes are supported
- 
equalCompare 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
- 
equalCompare this row value expression with a record for equality.- See Also:
 
- 
equalCompare this row value expression with another row value expression for equality.- See Also:
 
- 
equalCompare this row value expression with another row value expression for equality.- See Also:
 
- 
equalCompare this row value expression with a subselect for equality.- See Also:
 
- 
equalCompare this row value expression with a subselect for equality.
- 
eqCompare this row value expression with another row value expression for equality.- See Also:
 
- 
eqCompare this row value expression with a record for equality.- See Also:
 
- 
eqCompare this row value expression with another row value expression for equality.- See Also:
 
- 
eqCompare this row value expression with another row value expression for equality.- See Also:
 
- 
eqCompare this row value expression with a subselect for equality.- See Also:
 
- 
eqCompare this row value expression with a subselect for equality.
- 
notEqualCompare 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)
- 
notEqualCompare this row value expression with a record for non-equality- See Also:
 
- 
notEqualCompare this row value expression with another row value expression for. non-equality- See Also:
 
- 
notEqualCompare this row value expression with another row value expression for non-equality.- See Also:
 
- 
notEqualCompare this row value expression with a subselect for non-equality.- See Also:
 
- 
notEqualCompare this row value expression with a subselect for non-equality.
- 
neCompare this row value expression with another row value expression for non-equality.- See Also:
 
- 
neCompare this row value expression with a record for non-equality.- See Also:
 
- 
neCompare this row value expression with another row value expression for non-equality.- See Also:
 
- 
neCompare this row value expression with another row value expression for non-equality.- See Also:
 
- 
neCompare this row value expression with a subselect for non-equality.- See Also:
 
- 
neCompare this row value expression with a subselect for non-equality.
- 
isDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isNotDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isNotDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isNotDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isNotDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
isNotDistinctFromCompare this row value expression with another row value expression for distinctness.
- 
lessThanCompare 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)
- 
lessThanCompare this row value expression with a record for order.- See Also:
 
- 
lessThanCompare this row value expression with another row value expression for order.- See Also:
 
- 
lessThanCompare this row value expression with another row value expression for order.- See Also:
 
- 
lessThanCompare this row value expression with a subselect for order.- See Also:
 
- 
lessThanCompare this row value expression with a subselect for order.
- 
ltCompare this row value expression with another row value expression for order.- See Also:
 
- 
ltCompare this row value expression with a record for order.- See Also:
 
- 
ltCompare this row value expression with another row value expression for order.- See Also:
 
- 
ltCompare this row value expression with another row value expression for order.- See Also:
 
- 
ltCompare this row value expression with a subselect for order.- See Also:
 
- 
ltCompare this row value expression with a subselect for order.
- 
lessOrEqualCompare 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)
- 
lessOrEqualCompare this row value expression with a record for order.- See Also:
 
- 
lessOrEqualCompare this row value expression with another row value expression for order.- See Also:
 
- 
lessOrEqualCompare this row value expression with another row value expression for order.- See Also:
 
- 
lessOrEqualCompare this row value expression with a subselect for order.- See Also:
 
- 
lessOrEqualCompare this row value expression with a subselect for order.
- 
leCompare this row value expression with another row value expression for order.- See Also:
 
- 
leCompare this row value expression with a record for order.- See Also:
 
- 
leCompare this row value expression with another row value expression for order.- See Also:
 
- 
leCompare this row value expression with another row value expression for order.- See Also:
 
- 
leCompare this row value expression with a subselect for order.- See Also:
 
- 
leCompare this row value expression with a subselect for order.
- 
greaterThanCompare 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)
- 
greaterThanCompare this row value expression with a record for order.- See Also:
 
- 
greaterThanCompare this row value expression with another row value expression for order.- See Also:
 
- 
greaterThanCompare this row value expression with another row value expression for order.- See Also:
 
- 
greaterThanCompare this row value expression with a subselect for order.- See Also:
 
- 
greaterThanCompare this row value expression with a subselect for order.
- 
gtCompare this row value expression with another row value expression for order.- See Also:
 
- 
gtCompare this row value expression with a record for order.- See Also:
 
- 
gtCompare this row value expression with another row value expression for order.- See Also:
 
- 
gtCompare this row value expression with another row value expression for order.- See Also:
 
- 
gtCompare this row value expression with a subselect for order.- See Also:
 
- 
gtCompare this row value expression with a subselect for order.
- 
greaterOrEqualCompare 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)
- 
greaterOrEqualCompare this row value expression with a record for order.- See Also:
 
- 
greaterOrEqualCompare this row value expression with another row value expression for order.- See Also:
 
- 
greaterOrEqualCompare this row value expression with another row value expression for order.- See Also:
 
- 
greaterOrEqualCompare 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.
- 
geCompare this row value expression with another row value expression for order.- See Also:
 
- 
geCompare this row value expression with a record for order.- See Also:
 
- 
geCompare this row value expression with another row value expression for order.- See Also:
 
- 
geCompare this row value expression with another row value expression for order.- See Also:
 
- 
geCompare this row value expression with a subselect for order.- See Also:
 
- 
geCompare this row value expression with a subselect for order.
- 
betweenCheck if this row value expression is within a range of two other row value expressions.- See Also:
 
- 
betweenCheck if this row value expression is within a range of two other row value expressions.- See Also:
 
- 
betweenCheck if this row value expression is within a range of two other row value expressions.- See Also:
 
- 
betweenCheck if this row value expression is within a range of two records.- See Also:
 
- 
betweenCheck 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 Cis equivalent to the expressionA >= B AND A <= Cfor those SQL dialects that do not properly support theBETWEENpredicate for row value expressions
- 
betweenCheck if this row value expression is within a range of two records.This is the same as calling between(minValue).and(maxValue)- See Also:
 
- 
betweenSymmetricCheck 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:
 
- 
betweenSymmetricCheck if this row value expression is within a symmetric range of two other row value expressions.- See Also:
 
- 
betweenSymmetricCheck if this row value expression is within a symmetric range of two records.- See Also:
 
- 
betweenSymmetricCheck 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 Cis equivalent to the expression(A >= B AND A <= C) OR (A >= C AND A <= B)for those SQL dialects that do not properly support theBETWEENpredicate 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:
 
- 
notBetweenCheck 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:
 
- 
notBetweenCheck if this row value expression is not within a range of two other row value expressions.- See Also:
 
- 
notBetweenCheck if this row value expression is within a range of two records.- See Also:
 
- 
notBetweenCheck 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 Cis equivalent to the expressionA < B OR A > Cfor those SQL dialects that do not properly support theBETWEENpredicate for row value expressions
- 
notBetweenCheck if this row value expression is within a range of two records.This is the same as calling notBetween(minValue).and(maxValue)- See Also:
 
- 
notBetweenSymmetricCheck 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:
 
- 
notBetweenSymmetricCheck if this row value expression is not within a symmetric range of two other row value expressions.- See Also:
 
- 
notBetweenSymmetricCheck 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 Cis equivalent to the expression(A < B OR A > C) AND (A < C OR A > B)for those SQL dialects that do not properly support theBETWEENpredicate 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:
 
- 
inCompare 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 INpredicates 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 avoidINlists, and replace them with:- INpredicates on temporary tables
- INpredicates on unnested array bind variables
 - See Also:
 
- 
inCompare 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 INpredicates 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 avoidINlists, and replace them with:- INpredicates on temporary tables
- INpredicates on unnested array bind variables
 
- 
inCompare this row value expression with a set of row value expressions for equality.Note that generating dynamic SQL with arbitrary-length INpredicates 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 avoidINlists, and replace them with:- INpredicates on temporary tables
- INpredicates on unnested array bind variables
 
- 
inCompare this row value expression with a set of records for equality.Note that generating dynamic SQL with arbitrary-length INpredicates 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 avoidINlists, and replace them with:- INpredicates on temporary tables
- INpredicates on unnested array bind variables
 - See Also:
 
- 
inCompare this row value expression with a subselect for equality.- See Also:
 
- 
notInCompare 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 INpredicates 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 avoidINlists, and replace them with:- NOT INpredicates on temporary tables
- NOT INpredicates on unnested array bind variables
 - See Also:
 
- 
notInCompare 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 INpredicates 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 avoidINlists, and replace them with:- NOT INpredicates on temporary tables
- NOT INpredicates on unnested array bind variables
 
- 
notInCompare this row value expression with a set of row value expressions for equality.Note that generating dynamic SQL with arbitrary-length NOT INpredicates 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 avoidINlists, and replace them with:- NOT INpredicates on temporary tables
- NOT INpredicates on unnested array bind variables
 
- 
notInCompare this row value expression with a set of records for non-equality.Note that generating dynamic SQL with arbitrary-length NOT INpredicates 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 avoidINlists, and replace them with:- NOT INpredicates on temporary tables
- NOT INpredicates on unnested array bind variables
 - See Also:
 
- 
notInCompare this row value expression with a subselect for non-equality.- See Also:
 
- 
overlapsCheck if this row value expression overlaps another row value expression.The SQL standard specifies a temporal OVERLAPSpredicate, 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)
- 
overlapsCheck if this row value expression overlaps another row value expression.The SQL standard specifies a temporal OVERLAPSpredicate, 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)
- 
overlapsCheck if this row value expression overlaps another row value expression.The SQL standard specifies a temporal OVERLAPSpredicate, 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.
 
-