-
- All Superinterfaces:
FieldOrRow
,QueryPart
,Row
,Serializable
public interface Row2<T1,T2> extends Row
A row value expression.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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BetweenAndStep2<T1,T2>
between(Field<T1> minValue1, Field<T2> minValue2)
Check if this row value expression is within a range of two other row value expressions.BetweenAndStep2<T1,T2>
between(Record2<T1,T2> minValue)
Check if this row value expression is within a range of two records.Condition
between(Record2<T1,T2> minValue, Record2<T1,T2> maxValue)
Check if this row value expression is within a range of two records.BetweenAndStep2<T1,T2>
between(Row2<T1,T2> minValue)
Check if this row value expression is within a range of two other row value expressions.Condition
between(Row2<T1,T2> minValue, Row2<T1,T2> maxValue)
Check if this row value expression is within a range of two other row value expressions.BetweenAndStep2<T1,T2>
between(T1 minValue1, T2 minValue2)
Check if this row value expression is within a range of two other row value expressions.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.BetweenAndStep2<T1,T2>
betweenSymmetric(Record2<T1,T2> minValue)
Check if this row value expression is within a symmetric range of two records.Condition
betweenSymmetric(Record2<T1,T2> minValue, Record2<T1,T2> maxValue)
Check if this row value expression is within a symmetric range of two records.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.Condition
betweenSymmetric(Row2<T1,T2> minValue, Row2<T1,T2> maxValue)
Check if this row value expression is within a symmetric range of two other row value expressions.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.Condition
compare(Comparator comparator, Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression using a dynamic comparator.Condition
compare(Comparator comparator, QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect using a dynamic comparator.Condition
compare(Comparator comparator, Record2<T1,T2> record)
Compare this row value expression with a record using a dynamic comparator.Condition
compare(Comparator comparator, Row2<T1,T2> row)
Compare this row value expression with another row value expression using a dynamic comparator.Condition
compare(Comparator comparator, Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect using a dynamic comparator.Condition
compare(Comparator comparator, T1 t1, T2 t2)
Compare this row value expression with another row value expression using a dynamic comparator.Condition
eq(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for equality.Condition
eq(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.Condition
eq(Record2<T1,T2> record)
Compare this row value expression with a record for equality.Condition
eq(Row2<T1,T2> row)
Compare this row value expression with another row value expression for equality.Condition
eq(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.Condition
eq(T1 t1, T2 t2)
Compare this row value expression with another row value expression for equality.Condition
equal(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for equality.Condition
equal(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.Condition
equal(Record2<T1,T2> record)
Compare this row value expression with a record for equality.Condition
equal(Row2<T1,T2> row)
Compare this row value expression with another row value expression for equality.Condition
equal(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.Condition
equal(T1 t1, T2 t2)
Compare this row value expression with another row value expression for equality.Field<T1>
field1()
Get the first field.Field<T2>
field2()
Get the second field.Condition
ge(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
ge(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
ge(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
ge(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
ge(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
ge(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
greaterOrEqual(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
greaterOrEqual(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
greaterOrEqual(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
greaterOrEqual(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
greaterOrEqual(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
greaterOrEqual(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
greaterThan(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
greaterThan(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
greaterThan(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
greaterThan(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
greaterThan(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
greaterThan(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
gt(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
gt(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
gt(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
gt(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
gt(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
gt(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
in(Collection<? extends Row2<T1,T2>> rows)
Compare this row value expression with a set of row value expressions for equality.Condition
in(Record2<T1,T2>... record)
Compare this row value expression with a set of records for equality.Condition
in(Result<? extends Record2<T1,T2>> result)
Compare this row value expression with a set of records for equality.Condition
in(Row2<T1,T2>... rows)
Compare this row value expression with a set of row value expressions for equality.Condition
in(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.Condition
isDistinctFrom(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for distinctness.Condition
isDistinctFrom(Record2<T1,T2> record)
Compare this row value expression with another row value expression for distinctness.Condition
isDistinctFrom(Row2<T1,T2> row)
Compare this row value expression with another row value expression for distinctness.Condition
isDistinctFrom(T1 t1, T2 t2)
Compare this row value expression with another row value expression for distinctness.Condition
isNotDistinctFrom(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for distinctness.Condition
isNotDistinctFrom(Record2<T1,T2> record)
Compare this row value expression with another row value expression for distinctness.Condition
isNotDistinctFrom(Row2<T1,T2> row)
Compare this row value expression with another row value expression for distinctness.Condition
isNotDistinctFrom(T1 t1, T2 t2)
Compare this row value expression with another row value expression for distinctness.Condition
le(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
le(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
le(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
le(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
le(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
le(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
lessOrEqual(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
lessOrEqual(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
lessOrEqual(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
lessOrEqual(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
lessOrEqual(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
lessOrEqual(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
lessThan(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
lessThan(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
lessThan(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
lessThan(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
lessThan(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
lessThan(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
lt(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.Condition
lt(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
lt(Record2<T1,T2> record)
Compare this row value expression with a record for order.Condition
lt(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.Condition
lt(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.Condition
lt(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.Condition
ne(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for non-equality.Condition
ne(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.Condition
ne(Record2<T1,T2> record)
Compare this row value expression with a record for non-equality.Condition
ne(Row2<T1,T2> row)
Compare this row value expression with another row value expression for non-equality.Condition
ne(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.Condition
ne(T1 t1, T2 t2)
Compare this row value expression with another row value expression for non-equality.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.BetweenAndStep2<T1,T2>
notBetween(Record2<T1,T2> minValue)
Check if this row value expression is within a range of two records.Condition
notBetween(Record2<T1,T2> minValue, Record2<T1,T2> maxValue)
Check if this row value expression is within a range of two records.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.Condition
notBetween(Row2<T1,T2> minValue, Row2<T1,T2> maxValue)
Check if this row value expression is not within a range of two other row value expressions.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.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.BetweenAndStep2<T1,T2>
notBetweenSymmetric(Record2<T1,T2> minValue)
Check if this row value expression is not within a symmetric range of two records.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.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.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.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.Condition
notEqual(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for non-equality.Condition
notEqual(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.Condition
notEqual(Record2<T1,T2> record)
Compare this row value expression with a record for non-equalityCondition
notEqual(Row2<T1,T2> row)
Compare this row value expression with another row value expression for non-equality.Condition
notEqual(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.Condition
notEqual(T1 t1, T2 t2)
Compare this row value expression with another row value expression for.Condition
notIn(Collection<? extends Row2<T1,T2>> rows)
Compare this row value expression with a set of row value expressions for equality.Condition
notIn(Record2<T1,T2>... record)
Compare this row value expression with a set of records for non-equality.Condition
notIn(Result<? extends Record2<T1,T2>> result)
Compare this row value expression with a set of records for equality.Condition
notIn(Row2<T1,T2>... rows)
Compare this row value expression with a set of row value expressions for equality.Condition
notIn(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.Condition
overlaps(Field<T1> t1, Field<T2> t2)
Check if this row value expression overlaps another row value expression.Condition
overlaps(Row2<T1,T2> row)
Check if this row value expression overlaps another row value expression.Condition
overlaps(T1 t1, T2 t2)
Check if this row value expression overlaps another row value expression.
-
-
-
Method Detail
-
compare
@Support Condition compare(Comparator comparator, Row2<T1,T2> row)
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
@Support Condition compare(Comparator comparator, Record2<T1,T2> record)
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
@Support Condition compare(Comparator comparator, T1 t1, T2 t2)
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
@Support Condition compare(Comparator comparator, Field<T1> t1, Field<T2> t2)
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
@Support 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
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,SYBASE,VERTICA}) 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
@Support Condition equal(Row2<T1,T2> row)
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
@Support Condition equal(Record2<T1,T2> record)
Compare this row value expression with a record for equality.- See Also:
equal(Row2)
-
equal
@Support Condition equal(T1 t1, T2 t2)
Compare this row value expression with another row value expression for equality.- See Also:
equal(Row2)
-
equal
@Support Condition equal(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for equality.- See Also:
equal(Row2)
-
equal
@Support Condition equal(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.- See Also:
equal(Row2)
-
equal
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,SYBASE,VERTICA}) Condition equal(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.
-
eq
@Support Condition eq(Row2<T1,T2> row)
Compare this row value expression with another row value expression for equality.- See Also:
equal(Row2)
-
eq
@Support Condition eq(Record2<T1,T2> record)
Compare this row value expression with a record for equality.- See Also:
equal(Row2)
-
eq
@Support Condition eq(T1 t1, T2 t2)
Compare this row value expression with another row value expression for equality.- See Also:
equal(Row2)
-
eq
@Support Condition eq(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for equality.- See Also:
equal(Row2)
-
eq
@Support Condition eq(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.- See Also:
equal(Row2)
-
eq
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,SYBASE,VERTICA}) Condition eq(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.
-
notEqual
@Support Condition notEqual(Row2<T1,T2> row)
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
@Support Condition notEqual(Record2<T1,T2> record)
Compare this row value expression with a record for non-equality- See Also:
notEqual(Row2)
-
notEqual
@Support Condition notEqual(T1 t1, T2 t2)
Compare this row value expression with another row value expression for. non-equality- See Also:
notEqual(Row2)
-
notEqual
@Support Condition notEqual(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for non-equality.- See Also:
notEqual(Row2)
-
notEqual
@Support Condition notEqual(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.- See Also:
notEqual(Row2)
-
notEqual
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,REDSHIFT,SYBASE}) Condition notEqual(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.
-
ne
@Support Condition ne(Row2<T1,T2> row)
Compare this row value expression with another row value expression for non-equality.- See Also:
notEqual(Row2)
-
ne
@Support Condition ne(Record2<T1,T2> record)
Compare this row value expression with a record for non-equality.- See Also:
notEqual(Row2)
-
ne
@Support Condition ne(T1 t1, T2 t2)
Compare this row value expression with another row value expression for non-equality.- See Also:
notEqual(Row2)
-
ne
@Support Condition ne(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for non-equality.- See Also:
notEqual(Row2)
-
ne
@Support Condition ne(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.- See Also:
notEqual(Row2)
-
ne
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,REDSHIFT,SYBASE}) Condition ne(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.
-
isDistinctFrom
@Support Condition isDistinctFrom(Row2<T1,T2> row)
Compare this row value expression with another row value expression for distinctness.
-
isDistinctFrom
@Support Condition isDistinctFrom(Record2<T1,T2> record)
Compare this row value expression with another row value expression for distinctness.
-
isDistinctFrom
@Support Condition isDistinctFrom(T1 t1, T2 t2)
Compare this row value expression with another row value expression for distinctness.
-
isDistinctFrom
@Support Condition isDistinctFrom(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for distinctness.
-
isNotDistinctFrom
@Support Condition isNotDistinctFrom(Row2<T1,T2> row)
Compare this row value expression with another row value expression for distinctness.
-
isNotDistinctFrom
@Support Condition isNotDistinctFrom(Record2<T1,T2> record)
Compare this row value expression with another row value expression for distinctness.
-
isNotDistinctFrom
@Support Condition isNotDistinctFrom(T1 t1, T2 t2)
Compare this row value expression with another row value expression for distinctness.
-
isNotDistinctFrom
@Support Condition isNotDistinctFrom(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for distinctness.
-
lessThan
@Support Condition lessThan(Row2<T1,T2> row)
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
@Support Condition lessThan(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
lessThan(Row2)
-
lessThan
@Support Condition lessThan(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
lessThan(Row2)
-
lessThan
@Support Condition lessThan(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
lessThan(Row2)
-
lessThan
@Support Condition lessThan(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
lessThan(Row2)
-
lessThan
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition lessThan(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
lt
@Support Condition lt(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.- See Also:
lessThan(Row2)
-
lt
@Support Condition lt(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
lessThan(Row2)
-
lt
@Support Condition lt(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
lessThan(Row2)
-
lt
@Support Condition lt(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
lessThan(Row2)
-
lt
@Support Condition lt(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
lessThan(Row2)
-
lt
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition lt(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
lessOrEqual
@Support Condition lessOrEqual(Row2<T1,T2> row)
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
@Support Condition lessOrEqual(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
lessOrEqual(Row2)
-
lessOrEqual
@Support Condition lessOrEqual(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
lessOrEqual(Row2)
-
lessOrEqual
@Support Condition lessOrEqual(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
lessOrEqual(Row2)
-
lessOrEqual
@Support Condition lessOrEqual(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
lessOrEqual(Row2)
-
lessOrEqual
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition lessOrEqual(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
le
@Support Condition le(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.- See Also:
lessOrEqual(Row2)
-
le
@Support Condition le(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
lessOrEqual(Row2)
-
le
@Support Condition le(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
lessOrEqual(Row2)
-
le
@Support Condition le(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
lessOrEqual(Row2)
-
le
@Support Condition le(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
lessOrEqual(Row2)
-
le
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition le(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
greaterThan
@Support Condition greaterThan(Row2<T1,T2> row)
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
@Support Condition greaterThan(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
greaterThan(Row2)
-
greaterThan
@Support Condition greaterThan(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterThan(Row2)
-
greaterThan
@Support Condition greaterThan(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterThan(Row2)
-
greaterThan
@Support Condition greaterThan(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
greaterThan(Row2)
-
greaterThan
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition greaterThan(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
gt
@Support Condition gt(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.- See Also:
greaterThan(Row2)
-
gt
@Support Condition gt(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
greaterThan(Row2)
-
gt
@Support Condition gt(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterThan(Row2)
-
gt
@Support Condition gt(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterThan(Row2)
-
gt
@Support Condition gt(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
greaterThan(Row2)
-
gt
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition gt(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
greaterOrEqual
@Support Condition greaterOrEqual(Row2<T1,T2> row)
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
@Support Condition greaterOrEqual(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
greaterOrEqual(Row2)
-
greaterOrEqual
@Support Condition greaterOrEqual(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterOrEqual(Row2)
-
greaterOrEqual
@Support Condition greaterOrEqual(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterOrEqual(Row2)
-
greaterOrEqual
@Support Condition greaterOrEqual(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
greaterOrEqual(Row2)
-
greaterOrEqual
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition greaterOrEqual(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
ge
@Support Condition ge(Row2<T1,T2> row)
Compare this row value expression with another row value expression for order.- See Also:
greaterOrEqual(Row2)
-
ge
@Support Condition ge(Record2<T1,T2> record)
Compare this row value expression with a record for order.- See Also:
greaterOrEqual(Row2)
-
ge
@Support Condition ge(T1 t1, T2 t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterOrEqual(Row2)
-
ge
@Support Condition ge(Field<T1> t1, Field<T2> t2)
Compare this row value expression with another row value expression for order.- See Also:
greaterOrEqual(Row2)
-
ge
@Support Condition ge(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.- See Also:
greaterOrEqual(Row2)
-
ge
@Support({ASE,AURORA_POSTGRES,COCKROACHDB,CUBRID,FIREBIRD,H2,HSQLDB,INGRES,POSTGRES,SYBASE}) Condition ge(QuantifiedSelect<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for order.
-
between
@Support BetweenAndStep2<T1,T2> between(T1 minValue1, T2 minValue2)
Check if this row value expression is within a range of two other row value expressions.- See Also:
between(Row2, Row2)
-
between
@Support BetweenAndStep2<T1,T2> between(Field<T1> minValue1, Field<T2> minValue2)
Check if this row value expression is within a range of two other row value expressions.- See Also:
between(Row2, Row2)
-
between
@Support BetweenAndStep2<T1,T2> between(Row2<T1,T2> minValue)
Check if this row value expression is within a range of two other row value expressions.- See Also:
between(Row2, Row2)
-
between
@Support BetweenAndStep2<T1,T2> between(Record2<T1,T2> minValue)
Check if this row value expression is within a range of two records.- See Also:
between(Row2, Row2)
-
between
@Support Condition between(Row2<T1,T2> minValue, Row2<T1,T2> maxValue)
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
@Support Condition between(Record2<T1,T2> minValue, Record2<T1,T2> maxValue)
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:
between(Row2, Row2)
-
betweenSymmetric
@Support 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.- See Also:
betweenSymmetric(Row2, Row2)
-
betweenSymmetric
@Support 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(Row2, Row2)
-
betweenSymmetric
@Support 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.- See Also:
betweenSymmetric(Row2, Row2)
-
betweenSymmetric
@Support BetweenAndStep2<T1,T2> betweenSymmetric(Record2<T1,T2> minValue)
Check if this row value expression is within a symmetric range of two records.- See Also:
betweenSymmetric(Row2, Row2)
-
betweenSymmetric
@Support Condition betweenSymmetric(Row2<T1,T2> minValue, Row2<T1,T2> maxValue)
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
@Support 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:
betweenSymmetric(Row2, Row2)
-
notBetween
@Support 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.- See Also:
between(Row2, Row2)
-
notBetween
@Support 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(Row2, Row2)
-
notBetween
@Support 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.- See Also:
notBetween(Row2, Row2)
-
notBetween
@Support BetweenAndStep2<T1,T2> notBetween(Record2<T1,T2> minValue)
Check if this row value expression is within a range of two records.- See Also:
notBetween(Row2, Row2)
-
notBetween
@Support Condition notBetween(Row2<T1,T2> minValue, Row2<T1,T2> maxValue)
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
@Support Condition notBetween(Record2<T1,T2> minValue, Record2<T1,T2> maxValue)
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:
notBetween(Row2, Row2)
-
notBetweenSymmetric
@Support 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.- See Also:
notBetweenSymmetric(Row2, Row2)
-
notBetweenSymmetric
@Support 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(Row2, Row2)
-
notBetweenSymmetric
@Support 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.- See Also:
notBetweenSymmetric(Row2, Row2)
-
notBetweenSymmetric
@Support BetweenAndStep2<T1,T2> notBetweenSymmetric(Record2<T1,T2> minValue)
Check if this row value expression is not within a symmetric range of two records.- See Also:
notBetweenSymmetric(Row2, Row2)
-
notBetweenSymmetric
@Support 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
@Support 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:
notBetweenSymmetric(Row2, Row2)
-
in
@Support Condition in(Collection<? extends Row2<T1,T2>> rows)
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
-
in
@Support Condition in(Result<? extends Record2<T1,T2>> result)
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
@Support Condition in(Row2<T1,T2>... rows)
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
- See Also:
in(Collection)
-
in
@Support Condition in(Record2<T1,T2>... record)
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(Collection)
-
in
@Support Condition in(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for equality.- See Also:
in(Collection)
-
notIn
@Support Condition notIn(Collection<? extends Row2<T1,T2>> rows)
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
-
notIn
@Support Condition notIn(Result<? extends Record2<T1,T2>> result)
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
@Support Condition notIn(Row2<T1,T2>... rows)
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
- See Also:
notIn(Collection)
-
notIn
@Support Condition notIn(Record2<T1,T2>... record)
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(Collection)
-
notIn
@Support Condition notIn(Select<? extends Record2<T1,T2>> select)
Compare this row value expression with a subselect for non-equality.- See Also:
notIn(Collection)
-
overlaps
@Support Condition overlaps(T1 t1, T2 t2)
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
@Support Condition overlaps(Field<T1> t1, Field<T2> t2)
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
@Support Condition overlaps(Row2<T1,T2> row)
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)
-
-