public class DSL extends Object
org.jooq
 interfaces.
 
 The DSLContext and this DSL are the main entry point for
 client code, to access jOOQ classes and functionality. Here, you can
 instantiate all of those objects that cannot be accessed through other
 objects. For example, to create a Field representing a constant
 value, you can write:
 
 
 Field<String> field = DSL.val("Hello World")
 
 Another example is the EXISTS clause, which you can apply to any
 SELECT to form a Condition:
 
 
 Condition condition = DSL.exists(DSL.select(...));
 
 For increased fluency and readability of your jOOQ client code, it is
 recommended that you static import all methods from the DSL. For
 example: 
 import static org.jooq.impl.DSL.*;
 public class Main {
   public static void main(String[] args) {
     DSL.select(val("Hello"), inline("World"));
     // DSL.val ^^^           ^^^^^^ DSL.inline
   }
 }
 
 In order to use the "contextual DSL", call one of the various overloaded
 using(Configuration) methods:
 
 
 // Create and immediately execute a SELECT statement:
 DSL.using(connection, dialect)
    .selectOne()
    .fetch();
 
DSLContext| Modifier | Constructor and Description | 
|---|---|
| protected  | DSL()No instances. | 
| Modifier and Type | Method and Description | 
|---|---|
| static <T extends Number> | abs(Field<T> field)Get the absolute value of a numeric field: abs(field). | 
| static <T extends Number> | abs(T value)Get the absolute value of a numeric field: abs(field). | 
| static Field<BigDecimal> | acos(Field<? extends Number> field)Get the arc cosine(field) function. | 
| static Field<BigDecimal> | acos(Number value)Get the arc cosine(field) function. | 
| static <T> QuantifiedSelect<Record1<T>> | all(Field<T[]> array)Create an  ALLquantified select to be used in quantified
 comparison predicate expressions. | 
| static <R extends Record> | all(Select<R> select)Create an  ALLquantified select to be used in quantified
 comparison predicate expressions. | 
| static <T> QuantifiedSelect<Record1<T>> | all(T... array)Create an  ALLquantified select to be used in quantified
 comparison predicate expressions. | 
| static AlterSequenceRestartStep<BigInteger> | alterSequence(Name sequence)Create a new DSL  ALTER SEQUENCEstatement. | 
| static <T extends Number> | alterSequence(Sequence<T> sequence)Create a new DSL  ALTER SEQUENCEstatement. | 
| static AlterSequenceRestartStep<BigInteger> | alterSequence(String sequence)Create a new DSL  ALTER SEQUENCEstatement. | 
| static AlterTableStep | alterTable(Name table)Create a new DSL  ALTER TABLEstatement. | 
| static AlterTableStep | alterTable(String table)Create a new DSL  ALTER TABLEstatement. | 
| static AlterTableStep | alterTable(Table<?> table)Create a new DSL  ALTER TABLEstatement. | 
| static Condition | and(Collection<? extends Condition> conditions) | 
| static Condition | and(Condition... conditions) | 
| static <T> QuantifiedSelect<Record1<T>> | any(Field<T[]> array)Create an  ANYquantified select to be used in quantified
 comparison predicate expressions. | 
| static <R extends Record> | any(Select<R> select)Create an  ANYquantified select to be used in quantified
 comparison predicate expressions. | 
| static <T> QuantifiedSelect<Record1<T>> | any(T... array)Create an  ANYquantified select to be used in quantified
 comparison predicate expressions. | 
| static <T> Field<T[]> | array(Collection<? extends Field<T>> fields)Create an array literal. | 
| static <T> Field<T[]> | array(Field<T>... fields)Create an array literal. | 
| static <T> Field<T[]> | array(T... values)Create an array literal. | 
| static <T> ArrayAggOrderByStep<T[]> | arrayAgg(Field<T> field)Get the  array_agg()aggregate function. | 
| static Field<Integer> | ascii(Field<String> field)Get the ascii(field) function. | 
| static Field<Integer> | ascii(String field)Get the ascii(field) function. | 
| static Field<BigDecimal> | asin(Field<? extends Number> field)Get the arc sine(field) function. | 
| static Field<BigDecimal> | asin(Number value)Get the arc sine(field) function. | 
| static Field<BigDecimal> | atan(Field<? extends Number> field)Get the arc tangent(field) function. | 
| static Field<BigDecimal> | atan(Number value)Get the arc tangent(field) function. | 
| static Field<BigDecimal> | atan2(Field<? extends Number> x,
     Field<? extends Number> y)Get the atan2(field, y) function. | 
| static Field<BigDecimal> | atan2(Field<? extends Number> x,
     Number y)Get the atan2(field, y) function. | 
| static Field<BigDecimal> | atan2(Number x,
     Field<? extends Number> y)Get the atan2(field, y) function. | 
| static Field<BigDecimal> | atan2(Number x,
     Number y)Get the atan2(field, y) function. | 
| static AggregateFunction<BigDecimal> | avg(Field<? extends Number> field)Get the average over a numeric field: avg(field). | 
| static AggregateFunction<BigDecimal> | avgDistinct(Field<? extends Number> field)Get the average over a numeric field: avg(distinct field). | 
| static <T extends Number> | bitAnd(Field<T> field1,
      Field<T> field2)The bitwise and operator. | 
| static <T extends Number> | bitAnd(Field<T> value1,
      T value2)The bitwise and operator. | 
| static <T extends Number> | bitAnd(T value1,
      Field<T> value2)The bitwise and operator. | 
| static <T extends Number> | bitAnd(T value1,
      T value2)The bitwise and operator. | 
| static Field<Integer> | bitCount(Field<? extends Number> field)The MySQL  BIT_COUNT(field)function, counting the number of
 bits that are set in this number. | 
| static Field<Integer> | bitCount(Number value)The MySQL  BIT_COUNT(field)function, counting the number of
 bits that are set in this number. | 
| static Field<Integer> | bitLength(Field<String> field)Get the bit_length(field) function. | 
| static Field<Integer> | bitLength(String value)Get the bit_length(field) function. | 
| static <T extends Number> | bitNand(Field<T> field1,
       Field<T> field2)The bitwise not and operator. | 
| static <T extends Number> | bitNand(Field<T> value1,
       T value2)The bitwise not and operator. | 
| static <T extends Number> | bitNand(T value1,
       Field<T> value2)The bitwise not and operator. | 
| static <T extends Number> | bitNand(T value1,
       T value2)The bitwise not and operator. | 
| static <T extends Number> | bitNor(Field<T> field1,
      Field<T> field2)The bitwise not or operator. | 
| static <T extends Number> | bitNor(Field<T> value1,
      T value2)The bitwise not or operator. | 
| static <T extends Number> | bitNor(T value1,
      Field<T> value2)The bitwise not or operator. | 
| static <T extends Number> | bitNor(T value1,
      T value2)The bitwise not or operator. | 
| static <T extends Number> | bitNot(Field<T> field)The bitwise not operator. | 
| static <T extends Number> | bitNot(T value)The bitwise not operator. | 
| static <T extends Number> | bitOr(Field<T> field1,
     Field<T> field2)The bitwise or operator. | 
| static <T extends Number> | bitOr(Field<T> value1,
     T value2)The bitwise or operator. | 
| static <T extends Number> | bitOr(T value1,
     Field<T> value2)The bitwise or operator. | 
| static <T extends Number> | bitOr(T value1,
     T value2)The bitwise or operator. | 
| static <T extends Number> | bitXNor(Field<T> field1,
       Field<T> field2)The bitwise not xor operator. | 
| static <T extends Number> | bitXNor(Field<T> value1,
       T value2)The bitwise not xor operator. | 
| static <T extends Number> | bitXNor(T value1,
       Field<T> value2)The bitwise not xor operator. | 
| static <T extends Number> | bitXNor(T value1,
       T value2)The bitwise not xor operator. | 
| static <T extends Number> | bitXor(Field<T> field1,
      Field<T> field2)The bitwise xor operator. | 
| static <T extends Number> | bitXor(Field<T> value1,
      T value2)The bitwise xor operator. | 
| static <T extends Number> | bitXor(T value1,
      Field<T> value2)The bitwise xor operator. | 
| static <T extends Number> | bitXor(T value1,
      T value2)The bitwise xor operator. | 
| static AggregateFunction<Boolean> | boolAnd(Condition condition)Get the every value over a condition: bool_and(condition). | 
| static AggregateFunction<Boolean> | boolAnd(Field<Boolean> field)Get the every value over a field: bool_and(field). | 
| static AggregateFunction<Boolean> | boolOr(Condition condition)Get the every value over a condition: bool_and(condition). | 
| static AggregateFunction<Boolean> | boolOr(Field<Boolean> field)Get the every value over a field: bool_and(field). | 
| static <T> Field<T> | cast(Field<?> field,
    Class<T> type)Cast a field to another type. | 
| static <T> Field<T> | cast(Field<?> field,
    DataType<T> type)Cast a field to another type. | 
| static <T> Field<T> | cast(Field<?> field,
    Field<T> as)Cast a field to the type of another field. | 
| static <T> Field<T> | cast(Object value,
    Class<T> type)Cast a value to another type. | 
| static <T> Field<T> | cast(Object value,
    DataType<T> type)Cast a value to another type. | 
| static <T> Field<T> | cast(Object value,
    Field<T> as)Cast a value to the type of another field. | 
| static <T> Field<T> | castNull(Class<T> type)Cast null to a type. | 
| static <T> Field<T> | castNull(DataType<T> type)Cast null to a type. | 
| static <T> Field<T> | castNull(Field<T> as)Cast null to the type of another field. | 
| static Catalog | catalog(Name name)Create a qualified catalog, given its catalog name. | 
| static <T extends Number> | ceil(Field<T> field)Get the smallest integer value not less than [field]. | 
| static <T extends Number> | ceil(T value)Get the smallest integer value not less than [this]. | 
| static Field<Integer> | charLength(Field<String> field)Get the char_length(field) function. | 
| static Field<Integer> | charLength(String value)Get the char_length(field) function. | 
| static Case | choose()Initialise a  Casestatement. | 
| static <V> CaseValueStep<V> | choose(Field<V> value)Initialise a  Casestatement. | 
| static <V> CaseValueStep<V> | choose(V value)Initialise a  Casestatement. | 
| static <T> Field<T> | coalesce(Field<T> field,
        Field<?>... fields)The  COALESCE(field1, field2, ... , field n)function. | 
| static <T> Field<T> | coalesce(Field<T> field,
        T value)The  COALESCE(field, value)function. | 
| static <T> Field<T> | coalesce(T value,
        T... values)The  COALESCE(value1, value2, ... , value n)function. | 
| static <T> Field<T> | coerce(Field<?> field,
      Class<T> as)Coerce this field to another type. | 
| static <T> Field<T> | coerce(Field<?> field,
      DataType<T> as)Coerce a field to another type. | 
| static <T> Field<T> | coerce(Field<?> field,
      Field<T> as)Coerce this field to the type of another field. | 
| static <T> Field<T> | coerce(Object value,
      Class<T> as)Coerce this field to another type. | 
| static <T> Field<T> | coerce(Object value,
      DataType<T> as)Coerce a field to another type. | 
| static <T> Field<T> | coerce(Object value,
      Field<T> as)Coerce this field to the type of another field. | 
| static Field<String> | concat(Field<?>... fields)Get the concat(field[, field, ...]) function. | 
| static Field<String> | concat(Field<String> field,
      String value)Get the  concat(field, value)function. | 
| static Field<String> | concat(String... values)Get the concat(value[, value, ...]) function. | 
| static Field<String> | concat(String value,
      Field<String> field)Get the  concat(value, field)function. | 
| static Condition | condition(Boolean value)Create a condition from a boolean field. | 
| static Condition | condition(Field<Boolean> field)Create a condition from a boolean field. | 
| static Condition | condition(Map<Field<?>,?> map)Create a condition from a map. | 
| static Condition | condition(Operator operator,
         Collection<? extends Condition> conditions)Return a  Conditionthat connects all argumentconditionswithOperator. | 
| static Condition | condition(Operator operator,
         Condition... conditions)Return a  Conditionthat connects all argumentconditionswithOperator. | 
| static Condition | condition(Record record) | 
| static Condition | condition(SQL sql)Create a new condition holding plain SQL. | 
| static Condition | condition(String sql)Create a new condition holding plain SQL. | 
| static Condition | condition(String sql,
         Object... bindings)Create a new condition holding plain SQL. | 
| static Condition | condition(String sql,
         QueryPart... parts)A custom SQL clause that can render arbitrary SQL elements. | 
| static Field<Boolean> | connectByIsCycle()Retrieve the Oracle-specific  CONNECT_BY_ISCYCLEpseudo-field
 (to be used along withCONNECT BYclauses). | 
| static Field<Boolean> | connectByIsLeaf()Retrieve the Oracle-specific  CONNECT_BY_ISLEAFpseudo-field
 (to be used along withCONNECT BYclauses). | 
| static <T> Field<T> | connectByRoot(Field<T> field)Retrieve the Oracle-specific  CONNECT_BY_ROOTpseudo-column
 (to be used along withCONNECT BYclauses). | 
| static ConstraintTypeStep | constraint(Name name)Create a  CONSTRAINTspecification. | 
| static ConstraintTypeStep | constraint(String name)Create a  CONSTRAINTspecification. | 
| static Field<BigDecimal> | cos(Field<? extends Number> field)Get the cosine(field) function. | 
| static Field<BigDecimal> | cos(Number value)Get the cosine(field) function. | 
| static Field<BigDecimal> | cosh(Field<? extends Number> field)Get the hyperbolic cosine function: cosh(field). | 
| static Field<BigDecimal> | cosh(Number value)Get the hyperbolic cosine function: cosh(field). | 
| static Field<BigDecimal> | cot(Field<? extends Number> field)Get the cotangent(field) function. | 
| static Field<BigDecimal> | cot(Number value)Get the cotangent(field) function. | 
| static Field<BigDecimal> | coth(Field<? extends Number> field)Get the hyperbolic cotangent function: coth(field). | 
| static Field<BigDecimal> | coth(Number value)Get the hyperbolic cotangent function: coth(field). | 
| static AggregateFunction<Integer> | count()Get the count(*) function. | 
| static AggregateFunction<Integer> | count(Field<?> field)Get the count(field) function. | 
| static AggregateFunction<Integer> | count(Table<?> table)Get the count(table) function. | 
| static AggregateFunction<Integer> | countDistinct(Field<?>... fields)Get the count(distinct field1, field2) function. | 
| static AggregateFunction<Integer> | countDistinct(Field<?> field)Get the count(distinct field) function. | 
| static AggregateFunction<Integer> | countDistinct(Table<?> table)Get the count(distinct table) function. | 
| static CreateTableAsStep<Record> | createGlobalTemporaryTable(Name table)Create a new DSL  CREATE GLOBAL TEMPORARY TABLEstatement. | 
| static CreateTableAsStep<Record> | createGlobalTemporaryTable(String table)Create a new DSL  CREATE GLOBAL TEMPORARY TABLEstatement. | 
| static CreateTableAsStep<Record> | createGlobalTemporaryTable(Table<?> table)Create a new DSL  CREATE GLOBAL TEMPORARY TABLEstatement. | 
| static CreateIndexStep | createIndex(Name index)Create a new DSL  CREATE INDEXstatement. | 
| static CreateIndexStep | createIndex(String index)Create a new DSL  CREATE INDEXstatement. | 
| static CreateIndexStep | createIndexIfNotExists(Name index)Create a new DSL  CREATE INDEX IF NOT EXISTSstatement. | 
| static CreateIndexStep | createIndexIfNotExists(String index)Create a new DSL  CREATE INDEX IF NOT EXISTSstatement. | 
| static CreateSequenceFinalStep | createSequence(Name sequence)Create a new DSL  CREATE SEQUENCEstatement. | 
| static CreateSequenceFinalStep | createSequence(Sequence<?> sequence)Create a new DSL  CREATE SEQUENCEstatement. | 
| static CreateSequenceFinalStep | createSequence(String sequence)Create a new DSL  CREATE SEQUENCEstatement. | 
| static CreateSequenceFinalStep | createSequenceIfNotExists(Name sequence)Create a new DSL  CREATE SEQUENCE IF NOT EXISTSstatement. | 
| static CreateSequenceFinalStep | createSequenceIfNotExists(Sequence<?> sequence)Create a new DSL  CREATE SEQUENCE IF NOT EXISTSstatement. | 
| static CreateSequenceFinalStep | createSequenceIfNotExists(String sequence)Create a new DSL  CREATE SEQUENCE IF NOT EXISTSstatement. | 
| static CreateTableAsStep<Record> | createTable(Name table)Create a new DSL  CREATE TABLEstatement. | 
| static CreateTableAsStep<Record> | createTable(String table)Create a new DSL  CREATE TABLEstatement. | 
| static CreateTableAsStep<Record> | createTable(Table<?> table)Create a new DSL  CREATE TABLEstatement. | 
| static CreateTableAsStep<Record> | createTableIfNotExists(Name table)Create a new DSL  CREATE TABLEstatement. | 
| static CreateTableAsStep<Record> | createTableIfNotExists(String table)Create a new DSL  CREATE TABLEstatement. | 
| static CreateTableAsStep<Record> | createTableIfNotExists(Table<?> table)Create a new DSL  CREATE TABLEstatement. | 
| static CreateTableAsStep<Record> | createTemporaryTable(Name table)Create a new DSL  CREATE GLOBAL TEMPORARY TABLEstatement. | 
| static CreateTableAsStep<Record> | createTemporaryTable(String table)Create a new DSL  CREATE GLOBAL TEMPORARY TABLEstatement. | 
| static CreateTableAsStep<Record> | createTemporaryTable(Table<?> table)Create a new DSL  CREATE GLOBAL TEMPORARY TABLEstatement. | 
| static CreateIndexStep | createUniqueIndex(Name index)Create a new DSL  CREATE UNIQUE INDEXstatement. | 
| static CreateIndexStep | createUniqueIndex(String index)Create a new DSL  CREATE UNIQUE INDEXstatement. | 
| static CreateIndexStep | createUniqueIndexIfNotExists(Name index)Create a new DSL  CREATE UNIQUE INDEX IF NOT EXISTSstatement. | 
| static CreateIndexStep | createUniqueIndexIfNotExists(String index)Create a new DSL  CREATE UNIQUE INDEX IF NOT EXISTSstatement. | 
| static CreateViewAsStep | createView(Name view,
          Name... fields)Create a new DSL  CREATE VIEWstatement. | 
| static CreateViewAsStep | createView(String view,
          String... fields)Create a new DSL  CREATE VIEWstatement. | 
| static CreateViewAsStep | createView(Table<?> view,
          Field<?>... fields)Create a new DSL  CREATE VIEWstatement. | 
| static CreateViewAsStep | createViewIfNotExists(Name view,
                     Name... fields)Create a new DSL  CREATE VIEW IF NOT EXISTSstatement. | 
| static CreateViewAsStep | createViewIfNotExists(String view,
                     String... fields)Create a new DSL  CREATE VIEW IF NOT EXISTSstatement. | 
| static CreateViewAsStep | createViewIfNotExists(Table<?> view,
                     Field<?>... fields)Create a new DSL  CREATE VIEW IF NOT EXISTSstatement. | 
| static GroupField | cube(Field<?>... fields)Create a CUBE(field1, field2, .., fieldn) grouping field. | 
| static GroupField | cube(FieldOrRow... fields)Create a CUBE(field1, field2, .., fieldn) grouping field. | 
| static WindowOverStep<BigDecimal> | cumeDist()The  cume_dist() over ([analytic clause])function. | 
| static OrderedAggregateFunction<BigDecimal> | cumeDist(Field<?>... fields)The  cume_dist(expr) within group (order by [order clause])ordered-set aggregate function. | 
| static Field<Date> | currentDate()Get the current_date() function. | 
| static Field<String> | currentSchema()Get the  current_schema()function. | 
| static Field<Time> | currentTime()Get the current_time() function. | 
| static Field<Timestamp> | currentTimestamp()Get the current_timestamp() function. | 
| static Field<String> | currentUser()Get the  current_user()function. | 
| static Field<Date> | date(Date value)Convert a temporal value to a  DATE. | 
| static Field<Date> | date(Field<? extends Date> field)Convert a temporal value to a  DATE. | 
| static Field<Date> | date(String value)Convert a string value to a  DATE. | 
| static Field<Date> | dateAdd(Date date,
       Field<? extends Number> interval,
       DatePart datePart)Add an interval to a date, given a date part. | 
| static Field<Date> | dateAdd(Date date,
       Number interval)Add an interval to a date. | 
| static Field<Date> | dateAdd(Date date,
       Number interval,
       DatePart datePart)Add an interval to a date, given a date part. | 
| static Field<Date> | dateAdd(Field<Date> date,
       Field<? extends Number> interval)Add an interval to a date. | 
| static Field<Date> | dateAdd(Field<Date> date,
       Field<? extends Number> interval,
       DatePart datePart)Add an interval to a date, given a date part. | 
| static Field<Date> | dateAdd(Field<Date> date,
       Number interval,
       DatePart datePart)Add an interval to a date, given a date part. | 
| static Field<Integer> | dateDiff(Date date1,
        Date date2)Get the date difference in number of days. | 
| static Field<Integer> | dateDiff(Date date1,
        Field<Date> date2)Get the date difference in number of days. | 
| static Field<Integer> | dateDiff(Field<Date> date1,
        Date date2)Get the date difference in number of days. | 
| static Field<Integer> | dateDiff(Field<Date> date1,
        Field<Date> date2)Get the date difference in number of days. | 
| static Field<Date> | dateSub(Date date,
       Field<? extends Number> interval,
       DatePart datePart)Subtract an interval from a date, given a date part. | 
| static Field<Date> | dateSub(Date date,
       Number interval)Subtract an interval from a date. | 
| static Field<Date> | dateSub(Date date,
       Number interval,
       DatePart datePart)Subtract an interval from a date, given a date part. | 
| static Field<Date> | dateSub(Field<Date> date,
       Field<? extends Number> interval)Subtract an interval from a date. | 
| static Field<Date> | dateSub(Field<Date> date,
       Field<? extends Number> interval,
       DatePart datePart)Subtract an interval from a date, given a date part. | 
| static Field<Date> | dateSub(Field<Date> date,
       Number interval,
       DatePart datePart)Subtract an interval from a date, given a date part. | 
| static Field<Integer> | day(Date value)Get the day part of a date. | 
| static Field<Integer> | day(Field<? extends Date> field)Get the day part of a date. | 
| static Case | decode()Initialise a  Casestatement. | 
| static <Z,T> Field<Z> | decode(Field<T> value,
      Field<T> search,
      Field<Z> result)Gets the Oracle-style
  DECODE(expression, search, result[, search , result]... [, default])function. | 
| static <Z,T> Field<Z> | decode(Field<T> value,
      Field<T> search,
      Field<Z> result,
      Field<?>... more)Gets the Oracle-style
  DECODE(expression, search, result[, search , result]... [, default])function. | 
| static <Z,T> Field<Z> | decode(T value,
      T search,
      Z result)Gets the Oracle-style
  DECODE(expression, search, result[, search , result]... [, default])function. | 
| static <Z,T> Field<Z> | decode(T value,
      T search,
      Z result,
      Object... more)Gets the Oracle-style
  DECODE(expression, search, result[, search , result]... [, default])function. | 
| static Field<Object> | defaultValue()Create a  DEFAULTkeyword for use withINSERT,UPDATE, orMERGEstatements. | 
| static <T> Field<T> | defaultValue(Class<T> type)Create a  DEFAULTkeyword for use withINSERT,UPDATE, orMERGEstatements. | 
| static <T> Field<T> | defaultValue(DataType<T> type)Create a  DEFAULTkeyword for use withINSERT,UPDATE, orMERGEstatements. | 
| static <T> Field<T> | defaultValue(Field<T> field)Create a  DEFAULTkeyword for use withINSERT,UPDATE, orMERGEstatements. | 
| static Field<BigDecimal> | deg(Field<? extends Number> field)Calculate degrees from radians from this field. | 
| static Field<BigDecimal> | deg(Number value)Calculate degrees from radians from this field. | 
| static <R extends Record> | delete(Table<R> table)Create a new DSL delete statement. | 
| static <R extends Record> | deleteFrom(Table<R> table)Create a new DSL delete statement. | 
| static WindowOverStep<Integer> | denseRank()The  dense_rank() over ([analytic clause])function. | 
| static OrderedAggregateFunction<Integer> | denseRank(Field<?>... fields)The  dense_rank(expr) within group (order by [order clause])ordered-set aggregate function. | 
| static DropIndexOnStep | dropIndex(Name index)Create a new DSL  DROP INDEXstatement. | 
| static DropIndexOnStep | dropIndex(String index)Create a new DSL  DROP INDEXstatement. | 
| static DropIndexOnStep | dropIndexIfExists(Name index)Create a new DSL  DROP INDEX IF EXISTSstatement. | 
| static DropIndexOnStep | dropIndexIfExists(String index)Create a new DSL  DROP INDEX IF EXISTSstatement. | 
| static <T extends Number> | dropSequence(Name sequence)Create a new DSL  DROP SEQUENCEstatement. | 
| static <T extends Number> | dropSequence(Sequence<?> sequence)Create a new DSL  DROP SEQUENCEstatement. | 
| static <T extends Number> | dropSequence(String sequence)Create a new DSL  DROP SEQUENCEstatement. | 
| static <T extends Number> | dropSequenceIfExists(Name sequence)Create a new DSL  DROP SEQUENCE IF EXISTSstatement. | 
| static <T extends Number> | dropSequenceIfExists(Sequence<?> sequence)Create a new DSL  DROP SEQUENCE IF EXISTSstatement. | 
| static <T extends Number> | dropSequenceIfExists(String sequence)Create a new DSL  DROP SEQUENCE IF EXISTSstatement. | 
| static DropTableStep | dropTable(Name table)Create a new DSL  DROP TABLEstatement. | 
| static DropTableStep | dropTable(String table)Create a new DSL  DROP TABLEstatement. | 
| static DropTableStep | dropTable(Table<?> table)Create a new DSL  DROP TABLEstatement. | 
| static DropTableStep | dropTableIfExists(Name table)Create a new DSL  DROP TABLE IF EXISTSstatement. | 
| static DropTableStep | dropTableIfExists(String table)Create a new DSL  DROP TABLE IF EXISTSstatement. | 
| static DropTableStep | dropTableIfExists(Table<?> table)Create a new DSL  DROP TABLE IF EXISTSstatement. | 
| static DropViewFinalStep | dropView(Name view)Create a new DSL  DROP VIEWstatement. | 
| static DropViewFinalStep | dropView(String view)Create a new DSL  DROP VIEWstatement. | 
| static DropViewFinalStep | dropView(Table<?> view)Create a new DSL  DROP VIEWstatement. | 
| static DropViewFinalStep | dropViewIfExists(Name view)Create a new DSL  DROP VIEW IF EXISTSstatement. | 
| static DropViewFinalStep | dropViewIfExists(String view)Create a new DSL  DROP VIEW IF EXISTSstatement. | 
| static DropViewFinalStep | dropViewIfExists(Table<?> view)Create a new DSL  DROP VIEW IF EXISTSstatement. | 
| static Table<Record> | dual()The  DUALtable to be used for syntactic completeness. | 
| static Field<BigDecimal> | e()The  Eliteral (Euler number). | 
| static Field<String> | escape(Field<String> field,
      char escape)Convenience method for  replace(Field, String, String)to escape
 data for use withField.like(Field, char). | 
| static String | escape(String value,
      char escape)Convenience method for  replace(Field, String, String)to escape
 data for use withField.like(Field, char). | 
| static AggregateFunction<Boolean> | every(Condition condition)Get the every value over a condition: every(condition). | 
| static AggregateFunction<Boolean> | every(Field<Boolean> field)Get the every value over a field: every(field). | 
| static Condition | exists(Select<?> query)Create an exists condition. | 
| static Field<BigDecimal> | exp(Field<? extends Number> field)Get the exp(field) function, taking this field as the power of e. | 
| static Field<BigDecimal> | exp(Number value)Get the exp(field) function, taking this field as the power of e. | 
| static Field<Integer> | extract(Date value,
       DatePart datePart)Get the extract(field, datePart) function. | 
| static Field<Integer> | extract(Field<? extends Date> field,
       DatePart datePart)Get the extract(field, datePart) function. | 
| static Condition | falseCondition()Return a  Conditionthat will always evaluate to false. | 
| static Field<Boolean> | field(Condition condition)Transform a condition into a boolean field. | 
| static Field<Object> | field(Name name)Create a qualified field, given its (qualified) field name. | 
| static <T> Field<T> | field(Name name,
     Class<T> type)Create a qualified field, given its (qualified) field name. | 
| static <T> Field<T> | field(Name name,
     DataType<T> type)Create a qualified field, given its (qualified) field name. | 
| static <T> Field<T> | field(Select<? extends Record1<T>> select)Transform a subquery into a correlated subquery. | 
| static <T> Field<T> | field(SelectField<T> field)Wrap a  SelectFieldin a general-purposeField | 
| static Field<Object> | field(SQL sql)Create a "plain SQL" field. | 
| static <T> Field<T> | field(SQL sql,
     Class<T> type)Create a "plain SQL" field. | 
| static <T> Field<T> | field(SQL sql,
     DataType<T> type)Create a "plain SQL" field. | 
| static Field<Object> | field(String sql)Create a "plain SQL" field. | 
| static <T> Field<T> | field(String sql,
     Class<T> type)Create a "plain SQL" field. | 
| static <T> Field<T> | field(String sql,
     Class<T> type,
     Object... bindings)Create a "plain SQL" field. | 
| static <T> Field<T> | field(String sql,
     Class<T> type,
     QueryPart... parts)A custom SQL clause that can render arbitrary SQL elements. | 
| static <T> Field<T> | field(String sql,
     DataType<T> type)Create a "plain SQL" field. | 
| static <T> Field<T> | field(String sql,
     DataType<T> type,
     Object... bindings)Create a "plain SQL" field. | 
| static <T> Field<T> | field(String sql,
     DataType<T> type,
     QueryPart... parts)Create a "plain SQL" field. | 
| static Field<Object> | field(String sql,
     Object... bindings)Create a "plain SQL" field. | 
| static Field<Object> | field(String sql,
     QueryPart... parts)A custom SQL clause that can render arbitrary SQL elements. | 
| static <T> Field<T> | fieldByName(Class<T> type,
           String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  field(Name, Class)instead | 
| static <T> Field<T> | fieldByName(DataType<T> type,
           String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  field(Name, DataType)instead | 
| static Field<Object> | fieldByName(String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  field(Name)instead | 
| static <T> WindowIgnoreNullsStep<T> | firstValue(Field<T> field)The  first_value(field) over ([analytic clause])function. | 
| static <T extends Number> | floor(Field<T> field)Get the largest integer value not greater than [this]. | 
| static <T extends Number> | floor(T value)Get the largest integer value not greater than [this]. | 
| static <T> Field<T> | function(Name name,
        Class<T> type,
        Field<?>... arguments)function()can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ. | 
| static <T> Field<T> | function(Name name,
        DataType<T> type,
        Field<?>... arguments)function()can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ. | 
| static <T> Field<T> | function(String name,
        Class<T> type,
        Field<?>... arguments)function()can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ. | 
| static <T> Field<T> | function(String name,
        DataType<T> type,
        Field<?>... arguments)function()can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ. | 
| static Table<Record1<Integer>> | generateSeries(Field<Integer> from,
              Field<Integer> to)A table function generating a series of values from  fromtoto(inclusive). | 
| static Table<Record1<Integer>> | generateSeries(Field<Integer> from,
              int to)A table function generating a series of values from  fromtoto(inclusive). | 
| static Table<Record1<Integer>> | generateSeries(int from,
              Field<Integer> to)A table function generating a series of values from  fromtoto(inclusive). | 
| static Table<Record1<Integer>> | generateSeries(int from,
              int to)A table function generating a series of values from  fromtoto(inclusive). | 
| static <T> DataType<T> | getDataType(Class<T> type)Get the default data type for the  DSLContext's underlyingSQLDialectand a given Java type. | 
| static <T> Field<T> | greatest(Field<T> field,
        Field<?>... others)Find the greatest among all values. | 
| static <T> Field<T> | greatest(T value,
        T... values)Find the greatest among all values. | 
| static GroupConcatOrderByStep | groupConcat(Field<?> field)Get the aggregated concatenation for a field. | 
| static AggregateFunction<String> | groupConcat(Field<?> field,
           String separator)Get the aggregated concatenation for a field. | 
| static GroupConcatOrderByStep | groupConcatDistinct(Field<?> field)Get the aggregated concatenation for a field. | 
| static Field<Integer> | grouping(Field<?> field)Create a GROUPING(field) aggregation field to be used along with
  CUBE,ROLLUP, andGROUPING SETSgroupings. | 
| static Field<Integer> | groupingId(Field<?>... fields)Create a GROUPING_ID(field1, field2, .., fieldn) aggregation field to be
 used along with  CUBE,ROLLUP, andGROUPING SETSgroupings. | 
| static GroupField | groupingSets(Collection<? extends Field<?>>... fieldSets)Create a GROUPING SETS((field1a, field1b), (field2a), .., (fieldna,
 fieldnb)) grouping field. | 
| static GroupField | groupingSets(Field<?>... fields)Create a GROUPING SETS(field1, field2, .., fieldn) grouping field where
 each grouping set only consists of a single field. | 
| static GroupField | groupingSets(Field<?>[]... fieldSets)Create a GROUPING SETS((field1a, field1b), (field2a), .., (fieldna,
 fieldnb)) grouping field. | 
| static Field<Integer> | hour(Date value)Get the hour part of a date. | 
| static Field<Integer> | hour(Field<? extends Date> field)Get the hour part of a date. | 
| static <T> Field<T> | ifnull(Field<T> value,
      Field<T> defaultValue)The  IFNULL()function, a synonym ofNVL(). | 
| static <T> Field<T> | ifnull(Field<T> value,
      T defaultValue)The  IFNULL()function, a synonym ofNVL(). | 
| static <T> Field<T> | ifnull(T value,
      Field<T> defaultValue)The  IFNULL()function, a synonym ofNVL(). | 
| static <T> Field<T> | ifnull(T value,
      T defaultValue)The  IFNULL()function, a synonym ofNVL(). | 
| static Param<BigDecimal> | inline(BigDecimal value)Create a bind value that is always inlined. | 
| static Param<BigInteger> | inline(BigInteger value)Create a bind value that is always inlined. | 
| static Param<Boolean> | inline(boolean value)Create a bind value that is always inlined. | 
| static Param<Boolean> | inline(Boolean value)Create a bind value that is always inlined. | 
| static Param<Byte> | inline(byte value)Create a bind value that is always inlined. | 
| static Param<Byte> | inline(Byte value)Create a bind value that is always inlined. | 
| static Param<byte[]> | inline(byte[] value)Create a bind value that is always inlined. | 
| static Param<String> | inline(char character)Create a bind value, that is always inlined. | 
| static Param<String> | inline(Character character)Create a bind value, that is always inlined. | 
| static Param<String> | inline(CharSequence character)Create a bind value, that is always inlined. | 
| static Param<Date> | inline(Date value)Create a bind value that is always inlined. | 
| static Param<Double> | inline(double value)Create a bind value that is always inlined. | 
| static Param<Double> | inline(Double value)Create a bind value that is always inlined. | 
| static Param<Float> | inline(float value)Create a bind value that is always inlined. | 
| static Param<Float> | inline(Float value)Create a bind value that is always inlined. | 
| static Param<Integer> | inline(int value)Create a bind value that is always inlined. | 
| static Param<Integer> | inline(Integer value)Create a bind value that is always inlined. | 
| static Param<java.time.LocalDate> | inline(java.time.LocalDate value)Create a bind value that is always inlined. | 
| static Param<java.time.LocalDateTime> | inline(java.time.LocalDateTime value)Create a bind value that is always inlined. | 
| static Param<java.time.LocalTime> | inline(java.time.LocalTime value)Create a bind value that is always inlined. | 
| static Param<Long> | inline(long value)Create a bind value that is always inlined. | 
| static Param<Long> | inline(Long value)Create a bind value that is always inlined. | 
| static <T> Param<T> | inline(Object value,
      Class<T> type)Create a bind value, that is always inlined. | 
| static <T> Param<T> | inline(Object value,
      DataType<T> type)Create a bind value, that is always inlined. | 
| static <T> Param<T> | inline(Object value,
      Field<T> field)Create a bind value, that is always inlined. | 
| static Param<java.time.OffsetDateTime> | inline(java.time.OffsetDateTime value)Create a bind value that is always inlined. | 
| static Param<java.time.OffsetTime> | inline(java.time.OffsetTime value)Create a bind value that is always inlined. | 
| static Param<Short> | inline(short value)Create a bind value that is always inlined. | 
| static Param<Short> | inline(Short value)Create a bind value that is always inlined. | 
| static Param<String> | inline(String value)Create a bind value that is always inlined. | 
| static <T> Param<T> | inline(T value)Create a bind value, that is always inlined. | 
| static Param<Time> | inline(Time value)Create a bind value that is always inlined. | 
| static Param<Timestamp> | inline(Timestamp value)Create a bind value that is always inlined. | 
| static Param<UByte> | inline(UByte value)Create a bind value that is always inlined. | 
| static Param<UInteger> | inline(UInteger value)Create a bind value that is always inlined. | 
| static Param<ULong> | inline(ULong value)Create a bind value that is always inlined. | 
| static Param<UShort> | inline(UShort value)Create a bind value that is always inlined. | 
| static Param<UUID> | inline(UUID value)Create a bind value that is always inlined. | 
| static <R extends Record> | insertInto(Table<R> into)Create a new DSL insert statement. | 
| static <R extends Record> | insertInto(Table<R> into,
          Collection<? extends Field<?>> fields)Create a new DSL insert statement. | 
| static <R extends Record> | insertInto(Table<R> into,
          Field<?>... fields)Create a new DSL insert statement. | 
| static <R extends Record,T1> | insertInto(Table<R> into,
          Field<T1> field1)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19,
          Field<T20> field20)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19,
          Field<T20> field20,
          Field<T21> field21)Create a new DSL insert statement. | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | insertInto(Table<R> into,
          Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19,
          Field<T20> field20,
          Field<T21> field21,
          Field<T22> field22)Create a new DSL insert statement. | 
| static <T> Field<T> | isnull(Field<T> value,
      Field<T> defaultValue)Gets the SQL Server-style ISNULL(value, defaultValue) function. | 
| static <T> Field<T> | isnull(Field<T> value,
      T defaultValue)Gets the SQL Server-style ISNULL(value, defaultValue) function. | 
| static <T> Field<T> | isnull(T value,
      Field<T> defaultValue)Gets the SQL Server-style ISNULL(value, defaultValue) function. | 
| static <T> Field<T> | isnull(T value,
      T defaultValue)Gets the SQL Server-style ISNULL(value, defaultValue) function. | 
| static Keyword | keyword(String keyword)Create a SQL keyword. | 
| static <T> WindowIgnoreNullsStep<T> | lag(Field<T> field)The  lag(field) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lag(Field<T> field,
   int offset)The  lag(field, offset) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lag(Field<T> field,
   int offset,
   Field<T> defaultValue)The
  lag(field, offset, defaultValue) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lag(Field<T> field,
   int offset,
   T defaultValue)The
  lag(field, offset, defaultValue) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lastValue(Field<T> field)The  last_value(field) over ([analytic clause])function. | 
| static <R extends Record> | lateral(TableLike<R> table)Create a  LATERALjoined table. | 
| static <T> WindowIgnoreNullsStep<T> | lead(Field<T> field)The  lead(field) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lead(Field<T> field,
    int offset)The  lead(field, offset) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lead(Field<T> field,
    int offset,
    Field<T> defaultValue)The
  lead(field, offset, defaultValue) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | lead(Field<T> field,
    int offset,
    T defaultValue)The
  lead(field, offset, defaultValue) over ([analytic clause])function. | 
| static <T> Field<T> | least(Field<T> field,
     Field<?>... others)Find the least among all values. | 
| static <T> Field<T> | least(T value,
     T... values)Find the least among all values. | 
| static Field<String> | left(Field<String> field,
    Field<? extends Number> length)Get the left outermost characters from a string. | 
| static Field<String> | left(Field<String> field,
    int length)Get the left outermost characters from a string. | 
| static Field<String> | left(String field,
    Field<? extends Number> length)Get the left outermost characters from a string. | 
| static Field<String> | left(String field,
    int length)Get the left outermost characters from a string. | 
| static Field<Integer> | length(Field<String> field)Get the length of a  VARCHARtype. | 
| static Field<Integer> | length(String value)Get the length of a  VARCHARtype. | 
| static Field<Integer> | level()Retrieve the Oracle-specific  LEVELpseudo-field (to be used
 along withCONNECT BYclauses). | 
| static Link | link(Name name)Create a database link reference. | 
| static Link | link(String name)Create a database link reference. | 
| static Link | link(String name,
    Schema schema)Create a database link reference. | 
| static QueryPart | list(Collection<? extends QueryPart> parts)Compose a list of  QueryPartsinto a newQueryPart, with individual parts being comma-separated. | 
| static QueryPart | list(QueryPart... parts)Compose a list of  QueryPartsinto a newQueryPart, with individual parts being comma-separated. | 
| static OrderedAggregateFunction<String> | listAgg(Field<?> field)Get the aggregated concatenation for a field. | 
| static OrderedAggregateFunction<String> | listAgg(Field<?> field,
       String separator)Get the aggregated concatenation for a field. | 
| static Field<BigDecimal> | ln(Field<? extends Number> field)Get the ln(field) function, taking the natural logarithm of this field. | 
| static Field<BigDecimal> | ln(Number value)Get the ln(field) function, taking the natural logarithm of this field. | 
| static Field<BigDecimal> | log(Field<? extends Number> field,
   int base)Get the log(field, base) function. | 
| static Field<BigDecimal> | log(Number value,
   int base)Get the log(field, base) function. | 
| static Field<String> | lower(Field<String> field)Get the lower(field) function. | 
| static Field<String> | lower(String value)Get the lower(field) function. | 
| static Field<String> | lpad(Field<String> field,
    Field<? extends Number> length)Get the lpad(field, length) function. | 
| static Field<String> | lpad(Field<String> field,
    Field<? extends Number> length,
    Field<String> character)Get the lpad(field, length, character) function. | 
| static Field<String> | lpad(Field<String> field,
    int length)Get the lpad(field, length) function. | 
| static Field<String> | lpad(Field<String> field,
    int length,
    char character)Get the lpad(field, length, character) function. | 
| static Field<String> | lpad(Field<String> field,
    int length,
    String character)Get the lpad(field, length, character) function. | 
| static Field<String> | ltrim(Field<String> field)Get the ltrim(field) function. | 
| static Field<String> | ltrim(String value)Get the ltrim(field) function. | 
| static <T> AggregateFunction<T> | max(Field<T> field)Get the max value over a field: max(field). | 
| static <T> AggregateFunction<T> | maxDistinct(Field<T> field)Get the max value over a field: max(distinct field). | 
| static Field<String> | md5(Field<String> string)Get the MySQL-specific  MD5()function. | 
| static Field<String> | md5(String string)Get the MySQL-specific  MD5()function. | 
| static AggregateFunction<BigDecimal> | median(Field<? extends Number> field)Get the median over a numeric field: median(field). | 
| static <R extends Record> | mergeInto(Table<R> table)Create a new DSL SQL standard MERGE statement. | 
| static <R extends Record> | mergeInto(Table<R> table,
         Collection<? extends Field<?>> fields)Create a new DSL merge statement (H2-specific syntax). | 
| static <R extends Record> | mergeInto(Table<R> table,
         Field<?>... fields)Create a new DSL merge statement (H2-specific syntax). | 
| static <R extends Record,T1> | mergeInto(Table<R> table,
         Field<T1> field1) | 
| static <R extends Record,T1,T2> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2) | 
| static <R extends Record,T1,T2,T3> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3) | 
| static <R extends Record,T1,T2,T3,T4> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4) | 
| static <R extends Record,T1,T2,T3,T4,T5> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16,
         Field<T17> field17) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16,
         Field<T17> field17,
         Field<T18> field18) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16,
         Field<T17> field17,
         Field<T18> field18,
         Field<T19> field19) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16,
         Field<T17> field17,
         Field<T18> field18,
         Field<T19> field19,
         Field<T20> field20) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16,
         Field<T17> field17,
         Field<T18> field18,
         Field<T19> field19,
         Field<T20> field20,
         Field<T21> field21) | 
| static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | mergeInto(Table<R> table,
         Field<T1> field1,
         Field<T2> field2,
         Field<T3> field3,
         Field<T4> field4,
         Field<T5> field5,
         Field<T6> field6,
         Field<T7> field7,
         Field<T8> field8,
         Field<T9> field9,
         Field<T10> field10,
         Field<T11> field11,
         Field<T12> field12,
         Field<T13> field13,
         Field<T14> field14,
         Field<T15> field15,
         Field<T16> field16,
         Field<T17> field17,
         Field<T18> field18,
         Field<T19> field19,
         Field<T20> field20,
         Field<T21> field21,
         Field<T22> field22) | 
| static Field<String> | mid(Field<String> field,
   Field<? extends Number> startingPosition,
   Field<? extends Number> length)Get the mid(field, startingPosition, length) function. | 
| static Field<String> | mid(Field<String> field,
   int startingPosition,
   int length)Get the mid(field, startingPosition, length) function. | 
| static <T> AggregateFunction<T> | min(Field<T> field)Get the min value over a field: min(field). | 
| static <T> AggregateFunction<T> | minDistinct(Field<T> field)Get the min value over a field: min(distinct field). | 
| static Field<Integer> | minute(Date value)Get the minute part of a date. | 
| static Field<Integer> | minute(Field<? extends Date> field)Get the minute part of a date. | 
| static OrderedAggregateFunctionOfDeferredType | mode()The  mode() within group (oder by [order clause])ordered
 aggregate function. | 
| static Field<Integer> | month(Date value)Get the month part of a date. | 
| static Field<Integer> | month(Field<? extends Date> field)Get the month part of a date. | 
| static Name | name(String... qualifiedName)Create a new SQL identifier using a qualified name. | 
| static Field<Boolean> | not(Boolean value)Deprecated. 
 - 3.8.0 - [#4763] - Use  not(Condition)instead. Due
             to ambiguity between calling this method usingField.equals(Object)argument, vs. calling the other
             method via aField.equal(Object)argument, this
             method will be removed in the future. | 
| static Condition | not(Condition condition)Invert a condition. | 
| static Field<Boolean> | not(Field<Boolean> field)Invert a boolean value. | 
| static Condition | notExists(Select<?> query)Create a not exists condition. | 
| static <T> WindowIgnoreNullsStep<T> | nthValue(Field<T> field,
        Field<Integer> nth)The  nth_value(field) over ([analytic clause])function. | 
| static <T> WindowIgnoreNullsStep<T> | nthValue(Field<T> field,
        int nth)The  nth_value(field) over ([analytic clause])function. | 
| static WindowOverStep<Integer> | ntile(int number)The  ntile([number]) over ([analytic clause])function. | 
| static <T> Field<T> | nullif(Field<T> value,
      Field<T> other)Gets the Oracle-style NULLIF(value, other) function. | 
| static <T> Field<T> | nullif(Field<T> value,
      T other)Gets the Oracle-style NULLIF(value, other) function. | 
| static <T> Field<T> | nullif(T value,
      Field<T> other)Gets the Oracle-style NULLIF(value, other) function. | 
| static <T> Field<T> | nullif(T value,
      T other)Gets the Oracle-style NULLIF(value, other) function. | 
| protected static Field<?>[] | nullSafe(Field<?>... fields)Null-safety of a field. | 
| protected static <T> Field<T> | nullSafe(Field<T> field)Null-safety of a field. | 
| protected static <T> DataType<T> | nullSafeDataType(Field<T> field)Get a default data type if a field is null. | 
| static <T> Field<T> | nvl(Field<T> value,
   Field<T> defaultValue)Gets the Oracle-style NVL(value, defaultValue) function. | 
| static <T> Field<T> | nvl(Field<T> value,
   T defaultValue)Gets the Oracle-style NVL(value, defaultValue) function. | 
| static <T> Field<T> | nvl(T value,
   Field<T> defaultValue)Gets the Oracle-style NVL(value, defaultValue) function. | 
| static <T> Field<T> | nvl(T value,
   T defaultValue)Gets the Oracle-style NVL(value, defaultValue) function. | 
| static <Z> Field<Z> | nvl2(Field<?> value,
    Field<Z> valueIfNotNull,
    Field<Z> valueIfNull)Gets the Oracle-style NVL2(value, valueIfNotNull, valueIfNull) function. | 
| static <Z> Field<Z> | nvl2(Field<?> value,
    Field<Z> valueIfNotNull,
    Z valueIfNull)Gets the Oracle-style NVL2(value, valueIfNotNull, valueIfNull) function. | 
| static <Z> Field<Z> | nvl2(Field<?> value,
    Z valueIfNotNull,
    Field<Z> valueIfNull)Gets the Oracle-style NVL2(value, valueIfNotNull, valueIfNull) function. | 
| static <Z> Field<Z> | nvl2(Field<?> value,
    Z valueIfNotNull,
    Z valueIfNull)Gets the Oracle-style NVL2(value, valueIfNotNull, valueIfNull) function. | 
| static Field<Integer> | octetLength(Field<String> field)Get the octet_length(field) function. | 
| static Field<Integer> | octetLength(String value)Get the octet_length(field) function. | 
| static Param<Integer> | one()A  1literal. | 
| static Condition | or(Collection<? extends Condition> conditions) | 
| static Condition | or(Condition... conditions) | 
| static WindowSpecificationRowsStep | orderBy(Collection<? extends SortField<?>> fields)Create a  WindowSpecificationwith anORDER BYclause. | 
| static WindowSpecificationOrderByStep | orderBy(Field<?>... fields)Create a  WindowSpecificationwith anORDER BYclause. | 
| static WindowSpecificationRowsStep | orderBy(SortField<?>... fields)Create a  WindowSpecificationwith anORDER BYclause. | 
| static <T> Param<Object> | param()Create an unnamed parameter with a generic type ( Object/SQLDataType.OTHER) and no initial value. | 
| static <T> Param<T> | param(Class<T> type)Create an unnamed parameter with a defined type and no initial value. | 
| static <T> Param<T> | param(DataType<T> type)Create an unnamed parameter with a defined type and no initial value. | 
| static <T> Param<T> | param(Field<T> field)Create an unnamed parameter with the defined type of another field and no
 initial value. | 
| static Param<Object> | param(String name)Create a named parameter with a generic type ( Object/SQLDataType.OTHER) and no initial value. | 
| static <T> Param<T> | param(String name,
     Class<T> type)Create a named parameter with a defined type and no initial value. | 
| static <T> Param<T> | param(String name,
     DataType<T> type)Create a named parameter with a defined type and no initial value. | 
| static <T> Param<T> | param(String name,
     Field<T> type)Create a named parameter with a defined type of another field and no
 initial value. | 
| static <T> Param<T> | param(String name,
     T value)Create a named parameter with an initial value. | 
| static WindowSpecificationOrderByStep | partitionBy(Collection<? extends Field<?>> fields)Create a  WindowSpecificationwith aPARTITION BYclause. | 
| static WindowSpecificationOrderByStep | partitionBy(Field<?>... fields)Create a  WindowSpecificationwith aPARTITION BYclause. | 
| static OrderedAggregateFunction<BigDecimal> | percentileCont(Field<? extends Number> field)The
  percentile_cont([number]) within group (order by [column])function. | 
| static OrderedAggregateFunction<BigDecimal> | percentileCont(Number number)The
  percentile_cont([number]) within group (order by [column])function. | 
| static OrderedAggregateFunction<BigDecimal> | percentileDisc(Field<? extends Number> field)The
  percentile_disc([number]) within group (order by [column])function. | 
| static OrderedAggregateFunction<BigDecimal> | percentileDisc(Number number)The
  percentile_disc([number]) within group (order by [column])function. | 
| static WindowOverStep<BigDecimal> | percentRank()The  precent_rank() over ([analytic clause])function. | 
| static OrderedAggregateFunction<Integer> | percentRank(Field<?>... fields)The  percent_rank(expr) within group (order by [order clause])ordered-set aggregate function. | 
| static Field<BigDecimal> | pi()The  PIliteral. | 
| static Field<Integer> | position(Field<String> in,
        Field<String> search)Get the position(in, search) function. | 
| static Field<Integer> | position(Field<String> in,
        String search)Get the position(in, search) function. | 
| static Field<Integer> | position(String in,
        Field<String> search)Get the position(in, search) function. | 
| static Field<Integer> | position(String in,
        String search)Get the position(in, search) function. | 
| static Field<BigDecimal> | power(Field<? extends Number> field,
     Field<? extends Number> exponent)Get the power(field, exponent) function. | 
| static Field<BigDecimal> | power(Field<? extends Number> field,
     Number exponent)Get the power(field, exponent) function. | 
| static Field<BigDecimal> | power(Number value,
     Field<? extends Number> exponent)Get the power(field, exponent) function. | 
| static Field<BigDecimal> | power(Number value,
     Number exponent)Get the power(field, exponent) function. | 
| static <T> Field<T> | prior(Field<T> field)Add the Oracle-specific  PRIORunary operator before a field
 (to be used along withCONNECT BYclauses). | 
| static Queries | queries(Collection<? extends Query> queries)Wrap a collection of queries. | 
| static Queries | queries(Query... queries)Wrap a collection of queries. | 
| static Query | query(SQL sql)Create a new query holding plain SQL. | 
| static Query | query(String sql)Create a new query holding plain SQL. | 
| static Query | query(String sql,
     Object... bindings)Create a new query holding plain SQL. | 
| static Query | query(String sql,
     QueryPart... parts)Create a new query holding plain SQL. | 
| static QueryPart | queryPart(String sql)Deprecated. 
 - 3.6.0 - [#3854] - Use  sql(String)instead | 
| static QueryPart | queryPart(String sql,
         Object... bindings)Deprecated. 
 - 3.6.0 - [#3854] - Use  sql(String, Object...)instead | 
| static QueryPart | queryPart(String sql,
         QueryPart... parts)Deprecated. 
 - 3.6.0 - [#3854] - Use  sql(String, QueryPart...)instead | 
| static Field<BigDecimal> | rad(Field<? extends Number> field)Calculate radians from degrees from this field. | 
| static Field<BigDecimal> | rad(Number value)Calculate radians from degrees from this field. | 
| static Field<BigDecimal> | rand()Get the rand() function. | 
| static WindowSpecificationRowsAndStep | rangeBetweenCurrentRow()Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationRowsAndStep | rangeBetweenFollowing(int number)Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationRowsAndStep | rangeBetweenPreceding(int number)Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationRowsAndStep | rangeBetweenUnboundedFollowing()Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationRowsAndStep | rangeBetweenUnboundedPreceding()Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationFinalStep | rangeCurrentRow()Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationFinalStep | rangeFollowing(int number)Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationFinalStep | rangePreceding(int number)Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationFinalStep | rangeUnboundedFollowing()Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowSpecificationFinalStep | rangeUnboundedPreceding()Create a  WindowSpecificationwith aRANGEclause. | 
| static WindowOverStep<Integer> | rank()The  rank() over ([analytic clause])function. | 
| static OrderedAggregateFunction<Integer> | rank(Field<?>... fields)The  rank(expr) within group (order by [order clause])ordered-set aggregate function. | 
| static <T1> RecordType<Record> | recordType(Collection<? extends Field<?>> fields)Create a  RecordTypeof an arbitrary degree. | 
| static <T1> RecordType<Record> | recordType(Field<?>[] fields)Create a  RecordTypeof an arbitrary degree. | 
| static <T1> RecordType<Record1<T1>> | recordType(Field<T1> field1)Create a  RecordTypeof degree1. | 
| static <T1,T2> RecordType<Record2<T1,T2>> | recordType(Field<T1> field1,
          Field<T2> field2)Create a  RecordTypeof degree2. | 
| static <T1,T2,T3> RecordType<Record3<T1,T2,T3>> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3)Create a  RecordTypeof degree3. | 
| static <T1,T2,T3,T4> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4)Create a  RecordTypeof degree4. | 
| static <T1,T2,T3,T4,T5> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5)Create a  RecordTypeof degree5. | 
| static <T1,T2,T3,T4,T5,T6> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6)Create a  RecordTypeof degree6. | 
| static <T1,T2,T3,T4,T5,T6,T7> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7)Create a  RecordTypeof degree7. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8)Create a  RecordTypeof degree8. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9)Create a  RecordTypeof degree9. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10)Create a  RecordTypeof degree10. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11)Create a  RecordTypeof degree11. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12)Create a  RecordTypeof degree12. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13)Create a  RecordTypeof degree13. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14)Create a  RecordTypeof degree14. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15)Create a  RecordTypeof degree15. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16)Create a  RecordTypeof degree16. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17)Create a  RecordTypeof degree17. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18)Create a  RecordTypeof degree18. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19)Create a  RecordTypeof degree19. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19,
          Field<T20> field20)Create a  RecordTypeof degree20. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19,
          Field<T20> field20,
          Field<T21> field21)Create a  RecordTypeof degree21. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | recordType(Field<T1> field1,
          Field<T2> field2,
          Field<T3> field3,
          Field<T4> field4,
          Field<T5> field5,
          Field<T6> field6,
          Field<T7> field7,
          Field<T8> field8,
          Field<T9> field9,
          Field<T10> field10,
          Field<T11> field11,
          Field<T12> field12,
          Field<T13> field13,
          Field<T14> field14,
          Field<T15> field15,
          Field<T16> field16,
          Field<T17> field17,
          Field<T18> field18,
          Field<T19> field19,
          Field<T20> field20,
          Field<T21> field21,
          Field<T22> field22)Create a  RecordTypeof degree22. | 
| static AggregateFunction<BigDecimal> | regrAvgX(Field<? extends Number> y,
        Field<? extends Number> x)Get the  REGR_AVGXlinear regression function. | 
| static AggregateFunction<BigDecimal> | regrAvgY(Field<? extends Number> y,
        Field<? extends Number> x)Get the  REGR_AVGYlinear regression function. | 
| static AggregateFunction<BigDecimal> | regrCount(Field<? extends Number> y,
         Field<? extends Number> x)Get the  REGR_COUNTlinear regression function. | 
| static AggregateFunction<BigDecimal> | regrIntercept(Field<? extends Number> y,
             Field<? extends Number> x)Get the  REGR_INTERCEPTlinear regression function. | 
| static AggregateFunction<BigDecimal> | regrR2(Field<? extends Number> y,
      Field<? extends Number> x)Get the  REGR_R2linear regression function. | 
| static AggregateFunction<BigDecimal> | regrSlope(Field<? extends Number> y,
         Field<? extends Number> x)Get the  REGR_SLOPElinear regression function. | 
| static AggregateFunction<BigDecimal> | regrSXX(Field<? extends Number> y,
       Field<? extends Number> x)Get the  REGR_SXXlinear regression function. | 
| static AggregateFunction<BigDecimal> | regrSXY(Field<? extends Number> y,
       Field<? extends Number> x)Get the  REGR_SXYlinear regression function. | 
| static AggregateFunction<BigDecimal> | regrSYY(Field<? extends Number> y,
       Field<? extends Number> x)Get the  REGR_SYYlinear regression function. | 
| static Field<String> | repeat(Field<String> field,
      Field<? extends Number> count)Get the repeat(field, count) function. | 
| static Field<String> | repeat(Field<String> field,
      int count)Get the repeat(count) function. | 
| static Field<String> | repeat(String field,
      Field<? extends Number> count)Get the repeat(field, count) function. | 
| static Field<String> | repeat(String field,
      int count)Get the repeat(field, count) function. | 
| static Field<String> | replace(Field<String> field,
       Field<String> search)Get the replace(field, search) function. | 
| static Field<String> | replace(Field<String> field,
       Field<String> search,
       Field<String> replace)Get the replace(field, search, replace) function. | 
| static Field<String> | replace(Field<String> field,
       String search)Get the replace(field, search) function. | 
| static Field<String> | replace(Field<String> field,
       String search,
       String replace)Get the replace(field, search, replace) function. | 
| static ResultQuery<Record> | resultQuery(SQL sql)Create a new query holding plain SQL. | 
| static ResultQuery<Record> | resultQuery(String sql)Create a new query holding plain SQL. | 
| static ResultQuery<Record> | resultQuery(String sql,
           Object... bindings)Create a new query holding plain SQL. | 
| static ResultQuery<Record> | resultQuery(String sql,
           QueryPart... parts)Create a new query holding plain SQL. | 
| static Field<String> | reverse(Field<String> field)Get the  reverse(field)function. | 
| static Field<String> | reverse(String value)Get the  reverse(field)function. | 
| static Field<String> | right(Field<String> field,
     Field<? extends Number> length)Get the right outermost characters from a string. | 
| static Field<String> | right(Field<String> field,
     int length)Get the right outermost characters from a string. | 
| static Field<String> | right(String field,
     Field<? extends Number> length)Get the right outermost characters from a string. | 
| static Field<String> | right(String field,
     int length)Get the right outermost characters from a string. | 
| static GroupField | rollup(Field<?>... fields)Create a ROLLUP(field1, field2, .., fieldn) grouping field. | 
| static GroupField | rollup(FieldOrRow... fields)Create a ROLLUP(field1, field2, .., fieldn) grouping field. | 
| static <T extends Number> | round(Field<T> field)Get rounded value of a numeric field: round(field). | 
| static <T extends Number> | round(Field<T> field,
     int decimals)Get rounded value of a numeric field: round(field, decimals). | 
| static <T extends Number> | round(T value)Get rounded value of a numeric field: round(field). | 
| static <T extends Number> | round(T value,
     int decimals)Get rounded value of a numeric field: round(field, decimals). | 
| static RowN | row(Collection<?> values)Create a row value expression of degree  N > 22. | 
| static RowN | row(Field<?>... values)Create a row value expression of degree  N > 22. | 
| static <T1> Row1<T1> | row(Field<T1> t1)Create a row value expression of degree  1. | 
| static <T1,T2> Row2<T1,T2> | row(Field<T1> t1,
   Field<T2> t2)Create a row value expression of degree  2. | 
| static <T1,T2,T3> Row3<T1,T2,T3> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3)Create a row value expression of degree  3. | 
| static <T1,T2,T3,T4> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4)Create a row value expression of degree  4. | 
| static <T1,T2,T3,T4,T5> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5)Create a row value expression of degree  5. | 
| static <T1,T2,T3,T4,T5,T6> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6)Create a row value expression of degree  6. | 
| static <T1,T2,T3,T4,T5,T6,T7> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7)Create a row value expression of degree  7. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8)Create a row value expression of degree  8. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9)Create a row value expression of degree  9. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10)Create a row value expression of degree  10. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11)Create a row value expression of degree  11. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12)Create a row value expression of degree  12. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13)Create a row value expression of degree  13. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14)Create a row value expression of degree  14. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15)Create a row value expression of degree  15. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16)Create a row value expression of degree  16. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16,
   Field<T17> t17)Create a row value expression of degree  17. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16,
   Field<T17> t17,
   Field<T18> t18)Create a row value expression of degree  18. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16,
   Field<T17> t17,
   Field<T18> t18,
   Field<T19> t19)Create a row value expression of degree  19. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16,
   Field<T17> t17,
   Field<T18> t18,
   Field<T19> t19,
   Field<T20> t20)Create a row value expression of degree  20. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16,
   Field<T17> t17,
   Field<T18> t18,
   Field<T19> t19,
   Field<T20> t20,
   Field<T21> t21)Create a row value expression of degree  21. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | row(Field<T1> t1,
   Field<T2> t2,
   Field<T3> t3,
   Field<T4> t4,
   Field<T5> t5,
   Field<T6> t6,
   Field<T7> t7,
   Field<T8> t8,
   Field<T9> t9,
   Field<T10> t10,
   Field<T11> t11,
   Field<T12> t12,
   Field<T13> t13,
   Field<T14> t14,
   Field<T15> t15,
   Field<T16> t16,
   Field<T17> t17,
   Field<T18> t18,
   Field<T19> t19,
   Field<T20> t20,
   Field<T21> t21,
   Field<T22> t22)Create a row value expression of degree  22. | 
| static RowN | row(Object... values)Create a row value expression of degree  N > 22. | 
| static <T1> Row1<T1> | row(T1 t1)Create a row value expression of degree  1. | 
| static <T1,T2> Row2<T1,T2> | row(T1 t1,
   T2 t2)Create a row value expression of degree  2. | 
| static <T1,T2,T3> Row3<T1,T2,T3> | row(T1 t1,
   T2 t2,
   T3 t3)Create a row value expression of degree  3. | 
| static <T1,T2,T3,T4> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4)Create a row value expression of degree  4. | 
| static <T1,T2,T3,T4,T5> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5)Create a row value expression of degree  5. | 
| static <T1,T2,T3,T4,T5,T6> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6)Create a row value expression of degree  6. | 
| static <T1,T2,T3,T4,T5,T6,T7> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7)Create a row value expression of degree  7. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8)Create a row value expression of degree  8. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9)Create a row value expression of degree  9. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10)Create a row value expression of degree  10. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11)Create a row value expression of degree  11. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12)Create a row value expression of degree  12. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13)Create a row value expression of degree  13. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14)Create a row value expression of degree  14. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15)Create a row value expression of degree  15. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16)Create a row value expression of degree  16. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16,
   T17 t17)Create a row value expression of degree  17. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16,
   T17 t17,
   T18 t18)Create a row value expression of degree  18. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16,
   T17 t17,
   T18 t18,
   T19 t19)Create a row value expression of degree  19. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16,
   T17 t17,
   T18 t18,
   T19 t19,
   T20 t20)Create a row value expression of degree  20. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16,
   T17 t17,
   T18 t18,
   T19 t19,
   T20 t20,
   T21 t21)Create a row value expression of degree  21. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | row(T1 t1,
   T2 t2,
   T3 t3,
   T4 t4,
   T5 t5,
   T6 t6,
   T7 t7,
   T8 t8,
   T9 t9,
   T10 t10,
   T11 t11,
   T12 t12,
   T13 t13,
   T14 t14,
   T15 t15,
   T16 t16,
   T17 t17,
   T18 t18,
   T19 t19,
   T20 t20,
   T21 t21,
   T22 t22)Create a row value expression of degree  22. | 
| static <T1> Field<Record1<T1>> | rowField(Row1<T1> row)EXPERIMENTAL: Turn a row value expression of degree  1into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | rowField(Row10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> row)EXPERIMENTAL: Turn a row value expression of degree  10into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | rowField(Row11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> row)EXPERIMENTAL: Turn a row value expression of degree  11into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | rowField(Row12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> row)EXPERIMENTAL: Turn a row value expression of degree  12into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | rowField(Row13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> row)EXPERIMENTAL: Turn a row value expression of degree  13into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | rowField(Row14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> row)EXPERIMENTAL: Turn a row value expression of degree  14into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | rowField(Row15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> row)EXPERIMENTAL: Turn a row value expression of degree  15into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | rowField(Row16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> row)EXPERIMENTAL: Turn a row value expression of degree  16into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | rowField(Row17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> row)EXPERIMENTAL: Turn a row value expression of degree  17into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | rowField(Row18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> row)EXPERIMENTAL: Turn a row value expression of degree  18into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | rowField(Row19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> row)EXPERIMENTAL: Turn a row value expression of degree  19into aField. | 
| static <T1,T2> Field<Record2<T1,T2>> | rowField(Row2<T1,T2> row)EXPERIMENTAL: Turn a row value expression of degree  2into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | rowField(Row20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> row)EXPERIMENTAL: Turn a row value expression of degree  20into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | rowField(Row21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> row)EXPERIMENTAL: Turn a row value expression of degree  21into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | rowField(Row22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> row)EXPERIMENTAL: Turn a row value expression of degree  22into aField. | 
| static <T1,T2,T3> Field<Record3<T1,T2,T3>> | rowField(Row3<T1,T2,T3> row)EXPERIMENTAL: Turn a row value expression of degree  3into aField. | 
| static <T1,T2,T3,T4> | rowField(Row4<T1,T2,T3,T4> row)EXPERIMENTAL: Turn a row value expression of degree  4into aField. | 
| static <T1,T2,T3,T4,T5> | rowField(Row5<T1,T2,T3,T4,T5> row)EXPERIMENTAL: Turn a row value expression of degree  5into aField. | 
| static <T1,T2,T3,T4,T5,T6> | rowField(Row6<T1,T2,T3,T4,T5,T6> row)EXPERIMENTAL: Turn a row value expression of degree  6into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7> | rowField(Row7<T1,T2,T3,T4,T5,T6,T7> row)EXPERIMENTAL: Turn a row value expression of degree  7into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | rowField(Row8<T1,T2,T3,T4,T5,T6,T7,T8> row)EXPERIMENTAL: Turn a row value expression of degree  8into aField. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | rowField(Row9<T1,T2,T3,T4,T5,T6,T7,T8,T9> row)EXPERIMENTAL: Turn a row value expression of degree  9into aField. | 
| static Field<Integer> | rownum()Retrieve the Oracle-specific  ROWNUMpseudo-field. | 
| static WindowOverStep<Integer> | rowNumber()The  row_number() over ([analytic clause])function. | 
| static WindowSpecificationRowsAndStep | rowsBetweenCurrentRow()Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationRowsAndStep | rowsBetweenFollowing(int number)Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationRowsAndStep | rowsBetweenPreceding(int number)Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationRowsAndStep | rowsBetweenUnboundedFollowing()Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationRowsAndStep | rowsBetweenUnboundedPreceding()Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationFinalStep | rowsCurrentRow()Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationFinalStep | rowsFollowing(int number)Create a  WindowSpecificationwith aROWSclause. | 
| static Table<Record> | rowsFrom(Table<?>... tables)Create a  ROWS FROM (tables...) | 
| static WindowSpecificationFinalStep | rowsPreceding(int number)Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationFinalStep | rowsUnboundedFollowing()Create a  WindowSpecificationwith aROWSclause. | 
| static WindowSpecificationFinalStep | rowsUnboundedPreceding()Create a  WindowSpecificationwith aROWSclause. | 
| static Field<String> | rpad(Field<String> field,
    Field<? extends Number> length)Get the rpad(field, length) function. | 
| static Field<String> | rpad(Field<String> field,
    Field<? extends Number> length,
    Field<String> character)Get the rpad(field, length, character) function. | 
| static Field<String> | rpad(Field<String> field,
    int length)Get the rpad(field, length) function. | 
| static Field<String> | rpad(Field<String> field,
    int length,
    char character)Get the rpad(field, length, character) function. | 
| static Field<String> | rpad(Field<String> field,
    int length,
    String character)Get the rpad(field, length, character) function. | 
| static Field<String> | rtrim(Field<String> field)Get the rtrim(field) function. | 
| static Field<String> | rtrim(String value)Get the rtrim(field) function. | 
| static Schema | schema(Name name)Create a qualified schema, given its schema name. | 
| static Schema | schemaByName(String name)Deprecated. 
 - [#3843] - 3.6.0 - use  schema(Name)instead | 
| static Field<Integer> | second(Date value)Get the second part of a date. | 
| static Field<Integer> | second(Field<? extends Date> field)Get the second part of a date. | 
| static SelectSelectStep<Record> | select(Collection<? extends SelectField<?>> fields)Create a new DSL subselect statement. | 
| static SelectSelectStep<Record> | select(SelectField<?>... fields)Create a new DSL subselect statement. | 
| static <T1> SelectSelectStep<Record1<T1>> | select(SelectField<T1> field1)Create a new DSL subselect statement. | 
| static <T1,T2> SelectSelectStep<Record2<T1,T2>> | select(SelectField<T1> field1,
      SelectField<T2> field2)Create a new DSL subselect statement. | 
| static <T1,T2,T3> SelectSelectStep<Record3<T1,T2,T3>> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16,
      SelectField<T17> field17)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16,
      SelectField<T17> field17,
      SelectField<T18> field18)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16,
      SelectField<T17> field17,
      SelectField<T18> field18,
      SelectField<T19> field19)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16,
      SelectField<T17> field17,
      SelectField<T18> field18,
      SelectField<T19> field19,
      SelectField<T20> field20)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16,
      SelectField<T17> field17,
      SelectField<T18> field18,
      SelectField<T19> field19,
      SelectField<T20> field20,
      SelectField<T21> field21)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | select(SelectField<T1> field1,
      SelectField<T2> field2,
      SelectField<T3> field3,
      SelectField<T4> field4,
      SelectField<T5> field5,
      SelectField<T6> field6,
      SelectField<T7> field7,
      SelectField<T8> field8,
      SelectField<T9> field9,
      SelectField<T10> field10,
      SelectField<T11> field11,
      SelectField<T12> field12,
      SelectField<T13> field13,
      SelectField<T14> field14,
      SelectField<T15> field15,
      SelectField<T16> field16,
      SelectField<T17> field17,
      SelectField<T18> field18,
      SelectField<T19> field19,
      SelectField<T20> field20,
      SelectField<T21> field21,
      SelectField<T22> field22)Create a new DSL subselect statement. | 
| static SelectSelectStep<Record1<Integer>> | selectCount()Create a new DSL subselect statement for  COUNT(*). | 
| static SelectSelectStep<Record> | selectDistinct(Collection<? extends SelectField<?>> fields)Create a new DSL subselect statement. | 
| static SelectSelectStep<Record> | selectDistinct(SelectField<?>... fields)Create a new DSL subselect statement. | 
| static <T1> SelectSelectStep<Record1<T1>> | selectDistinct(SelectField<T1> field1)Create a new DSL subselect statement. | 
| static <T1,T2> SelectSelectStep<Record2<T1,T2>> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2)Create a new DSL subselect statement. | 
| static <T1,T2,T3> SelectSelectStep<Record3<T1,T2,T3>> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16,
              SelectField<T17> field17)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16,
              SelectField<T17> field17,
              SelectField<T18> field18)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16,
              SelectField<T17> field17,
              SelectField<T18> field18,
              SelectField<T19> field19)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16,
              SelectField<T17> field17,
              SelectField<T18> field18,
              SelectField<T19> field19,
              SelectField<T20> field20)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16,
              SelectField<T17> field17,
              SelectField<T18> field18,
              SelectField<T19> field19,
              SelectField<T20> field20,
              SelectField<T21> field21)Create a new DSL subselect statement. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | selectDistinct(SelectField<T1> field1,
              SelectField<T2> field2,
              SelectField<T3> field3,
              SelectField<T4> field4,
              SelectField<T5> field5,
              SelectField<T6> field6,
              SelectField<T7> field7,
              SelectField<T8> field8,
              SelectField<T9> field9,
              SelectField<T10> field10,
              SelectField<T11> field11,
              SelectField<T12> field12,
              SelectField<T13> field13,
              SelectField<T14> field14,
              SelectField<T15> field15,
              SelectField<T16> field16,
              SelectField<T17> field17,
              SelectField<T18> field18,
              SelectField<T19> field19,
              SelectField<T20> field20,
              SelectField<T21> field21,
              SelectField<T22> field22)Create a new DSL subselect statement. | 
| static <R extends Record> | selectFrom(Table<R> table)Create a new DSL select statement. | 
| static SelectSelectStep<Record1<Integer>> | selectOne()Create a new DSL subselect statement for a constant  1literal. | 
| static SelectSelectStep<Record1<Integer>> | selectZero()Create a new DSL subselect statement for a constant  0literal. | 
| static Sequence<BigInteger> | sequence(Name name)Create a qualified sequence, given its sequence name. | 
| static <T extends Number> | sequence(Name name,
        Class<T> type)Create a qualified sequence, given its sequence name. | 
| static <T extends Number> | sequence(Name name,
        DataType<T> type)Create a qualified sequence, given its sequence name. | 
| static Sequence<BigInteger> | sequence(String sql)Create a "plain SQL" sequence. | 
| static <T extends Number> | sequence(String sql,
        Class<T> type)Create a "plain SQL" sequence. | 
| static <T extends Number> | sequence(String sql,
        DataType<T> type)Create a "plain SQL" sequence. | 
| static <T extends Number> | sequenceByName(Class<T> type,
              String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  sequence(Name, Class)instead | 
| static <T extends Number> | sequenceByName(DataType<T> type,
              String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  sequence(Name, DataType)instead | 
| static Sequence<BigInteger> | sequenceByName(String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  sequence(Name)instead | 
| static <T extends Number> | shl(Field<T> field1,
   Field<? extends Number> field2)The bitwise left shift operator. | 
| static <T extends Number> | shl(Field<T> value1,
   Number value2)The bitwise left shift operator. | 
| static <T extends Number> | shl(T value1,
   Field<? extends Number> value2)The bitwise left shift operator. | 
| static <T extends Number> | shl(T value1,
   Number value2)The bitwise left shift operator. | 
| static <T extends Number> | shr(Field<T> field1,
   Field<? extends Number> field2)The bitwise right shift operator. | 
| static <T extends Number> | shr(Field<T> value1,
   Number value2)The bitwise right shift operator. | 
| static <T extends Number> | shr(T value1,
   Field<? extends Number> value2)The bitwise right shift operator. | 
| static <T extends Number> | shr(T value1,
   Number value2)The bitwise right shift operator. | 
| static Field<Integer> | sign(Field<? extends Number> field)Get the sign of a numeric field: sign(field). | 
| static Field<Integer> | sign(Number value)Get the sign of a numeric field: sign(field). | 
| static Field<BigDecimal> | sin(Field<? extends Number> field)Get the sine(field) function. | 
| static Field<BigDecimal> | sin(Number value)Get the sine(field) function. | 
| static Field<BigDecimal> | sinh(Field<? extends Number> field)Get the hyperbolic sine function: sinh(field). | 
| static Field<BigDecimal> | sinh(Number value)Get the hyperbolic sine function: sinh(field). | 
| static Field<String> | space(Field<Integer> value)Get the SQL Server specific  SPACE()function. | 
| static Field<String> | space(int value)Get the SQL Server specific  SPACE()function. | 
| static SQL | sql(String sql)A custom SQL clause that can render arbitrary expressions. | 
| static SQL | sql(String sql,
   Object... bindings)A custom SQL clause that can render arbitrary expressions. | 
| static SQL | sql(String sql,
   QueryPart... parts)A custom SQL clause that can render arbitrary expressions. | 
| static Field<BigDecimal> | sqrt(Field<? extends Number> field)Get the sqrt(field) function. | 
| static Field<BigDecimal> | sqrt(Number value)Get the sqrt(field) function. | 
| static AggregateFunction<BigDecimal> | stddevPop(Field<? extends Number> field)Get the population standard deviation of a numeric field: stddev_pop(field). | 
| static AggregateFunction<BigDecimal> | stddevSamp(Field<? extends Number> field)Get the sample standard deviation of a numeric field: stddev_samp(field). | 
| static Field<String> | substring(Field<String> field,
         Field<? extends Number> startingPosition)Get the substring(field, startingPosition) function. | 
| static Field<String> | substring(Field<String> field,
         Field<? extends Number> startingPosition,
         Field<? extends Number> length)Get the substring(field, startingPosition, length) function. | 
| static Field<String> | substring(Field<String> field,
         int startingPosition)Get the substring(field, startingPosition) function. | 
| static Field<String> | substring(Field<String> field,
         int startingPosition,
         int length)Get the substring(field, startingPosition, length) function. | 
| static AggregateFunction<BigDecimal> | sum(Field<? extends Number> field)Get the sum over a numeric field: sum(field). | 
| static AggregateFunction<BigDecimal> | sumDistinct(Field<? extends Number> field)Get the sum over a numeric field: sum(distinct field). | 
| static Field<String> | sysConnectByPath(Field<?> field,
                String separator)Retrieve the Oracle-specific
  SYS_CONNECT_BY_PATH(field, separator)function (to be used
 along withCONNECT BYclauses). | 
| static Table<?> | table(ArrayRecord<?> array)A synonym for  unnest(ArrayRecord). | 
| static Table<?> | table(Field<?> cursor)A synonym for  unnest(Field). | 
| static Table<?> | table(List<?> list)A synonym for  unnest(List). | 
| static Table<Record> | table(Name name)Create a qualified table, given its table name. | 
| static Table<?> | table(Object[] array)A synonym for  unnest(Object[]). | 
| static <R extends Record> | table(R... records)Use a previously obtained set of records as a new Table | 
| static <R extends Record> | table(R record)Use a previously obtained record as a new Table | 
| static <R extends Record> | table(Result<R> result)Use a previously obtained result as a new  Tablethat can be used
 in SQL statements throughvalues(RowN...). | 
| static <R extends Record> | table(Select<R> select)A synonym for  TableLike.asTable(), which might look a bit more fluent
 like this, to some users. | 
| static Table<Record> | table(SQL sql)A custom SQL clause that can render arbitrary table expressions. | 
| static Table<Record> | table(String sql)A custom SQL clause that can render arbitrary table expressions. | 
| static Table<Record> | table(String sql,
     Object... bindings)A custom SQL clause that can render arbitrary table expressions. | 
| static Table<Record> | table(String sql,
     QueryPart... parts)A custom SQL clause that can render arbitrary table expressions. | 
| static Table<Record> | tableByName(String... qualifiedName)Deprecated. 
 - [#3843] - 3.6.0 - use  table(Name)instead | 
| static Field<BigDecimal> | tan(Field<? extends Number> field)Get the tangent(field) function. | 
| static Field<BigDecimal> | tan(Number value)Get the tangent(field) function. | 
| static Field<BigDecimal> | tanh(Field<? extends Number> field)Get the hyperbolic tangent function: tanh(field). | 
| static Field<BigDecimal> | tanh(Number value)Get the hyperbolic tangent function: tanh(field). | 
| static Field<Time> | time(Date value)Convert a temporal value to a  TIME. | 
| static Field<Time> | time(Field<? extends Date> field)Convert a temporal value to a  TIME. | 
| static Field<Time> | time(String value)Convert a string value to a  TIME. | 
| static Field<Timestamp> | timestamp(Date value)Convert a temporal value to a  TIMESTAMP. | 
| static Field<Timestamp> | timestamp(Field<? extends Date> field)Convert a temporal value to a  TIMESTAMP. | 
| static Field<Timestamp> | timestamp(String value)Convert a string value to a  TIMESTAMP. | 
| static Field<Timestamp> | timestampAdd(Field<Timestamp> timestamp,
            Field<? extends Number> interval)Add an interval to a timestamp. | 
| static Field<Timestamp> | timestampAdd(Field<Timestamp> date,
            Field<? extends Number> interval,
            DatePart datePart)Add an interval to a timestamp, given a date part. | 
| static Field<Timestamp> | timestampAdd(Field<Timestamp> date,
            Number interval,
            DatePart datePart)Add an interval to a timestamp, given a date part. | 
| static Field<Timestamp> | timestampAdd(Timestamp date,
            Field<? extends Number> interval,
            DatePart datePart)Add an interval to a timestamp, given a date part. | 
| static Field<Timestamp> | timestampAdd(Timestamp timestamp,
            Number interval)Add an interval to a timestamp. | 
| static Field<Timestamp> | timestampAdd(Timestamp date,
            Number interval,
            DatePart datePart)Add an interval to a timestamp, given a date part. | 
| static Field<DayToSecond> | timestampDiff(Field<Timestamp> timestamp1,
             Field<Timestamp> timestamp2)Get the timestamp difference as a  INTERVAL DAY TO SECONDtype. | 
| static Field<DayToSecond> | timestampDiff(Field<Timestamp> timestamp1,
             Timestamp timestamp2)Get the timestamp difference as a  INTERVAL DAY TO SECONDtype. | 
| static Field<DayToSecond> | timestampDiff(Timestamp timestamp1,
             Field<Timestamp> timestamp2)Get the timestamp difference as a  INTERVAL DAY TO SECONDtype. | 
| static Field<DayToSecond> | timestampDiff(Timestamp timestamp1,
             Timestamp timestamp2)Get the timestamp difference as a  INTERVAL DAY TO SECONDtype. | 
| static Field<Date> | toDate(Field<String> value,
      Field<String> format)Parse a value to a  DATE. | 
| static Field<Date> | toDate(Field<String> value,
      String format)Parse a value to a  DATE. | 
| static Field<Date> | toDate(String value,
      Field<String> format)Parse a value to a  DATE. | 
| static Field<Date> | toDate(String value,
      String format)Parse a value to a  DATE. | 
| static Field<Timestamp> | toTimestamp(Field<String> value,
           Field<String> format)Parse a value to a  TIMESTAMP. | 
| static Field<Timestamp> | toTimestamp(Field<String> value,
           String format)Parse a value to a  TIMESTAMP. | 
| static Field<Timestamp> | toTimestamp(String value,
           Field<String> format)Parse a value to a  TIMESTAMP. | 
| static Field<Timestamp> | toTimestamp(String value,
           String format)Parse a value to a  TIMESTAMP. | 
| static Field<String> | trim(Field<String> field)Get the trim(field) function. | 
| static Field<String> | trim(String value)Get the trim(field) function. | 
| static Condition | trueCondition()Return a  Conditionthat will always evaluate to true. | 
| static Field<Date> | trunc(Date date)Truncate a date to the beginning of the day. | 
| static Field<Date> | trunc(Date date,
     DatePart part)Truncate a date to a given datepart. | 
| static <T extends Date> | trunc(Field<T> date)Truncate a date or a timestamp to the beginning of the day. | 
| static <T extends Date> | trunc(Field<T> date,
     DatePart part)Truncate a date or a timestamp to a given datepart. | 
| static <T extends Number> | trunc(Field<T> number,
     Field<Integer> decimals)Truncate a number to a given number of decimals. | 
| static <T extends Number> | trunc(Field<T> number,
     int decimals)Truncate a number to a given number of decimals. | 
| static <T extends Number> | trunc(T number)Truncate a number to a given number of decimals. | 
| static <T extends Number> | trunc(T number,
     Field<Integer> decimals)Truncate a number to a given number of decimals. | 
| static Field<Timestamp> | trunc(Timestamp timestamp)Truncate a timestamp to the beginning of the day. | 
| static Field<Timestamp> | trunc(Timestamp timestamp,
     DatePart part)Truncate a timestamp to a given datepart. | 
| static <T extends Number> | trunc(T number,
     int decimals)Truncate a number to a given number of decimals. | 
| static TruncateIdentityStep<Record> | truncate(Name table)Create a new DSL truncate statement. | 
| static <R extends Record> | truncate(Table<R> table)Create a new DSL truncate statement. | 
| static Param<Integer> | two()A  2literal. | 
| static Table<?> | unnest(ArrayRecord<?> array)Create a table from an array of values. | 
| static Table<?> | unnest(Field<?> cursor)Create a table from a field. | 
| static Table<?> | unnest(List<?> list)Create a table from a list of values. | 
| static Table<?> | unnest(Object[] array)Create a table from an array of values. | 
| static <R extends Record> | update(Table<R> table)Create a new DSL update statement. | 
| static Field<String> | upper(Field<String> field)Get the upper(field) function. | 
| static Field<String> | upper(String value)Get the upper(field) function. | 
| static DSLContext | using(Configuration configuration)Create an executor from a custom configuration. | 
| static DSLContext | using(Connection connection)Create an executor with a connection configured. | 
| static DSLContext | using(ConnectionProvider connectionProvider,
     SQLDialect dialect)Create an executor with a custom connection provider and a dialect
 configured. | 
| static DSLContext | using(ConnectionProvider connectionProvider,
     SQLDialect dialect,
     Settings settings)Create an executor with a custom connection provider, a dialect and settings
 configured. | 
| static DSLContext | using(Connection connection,
     Settings settings)Create an executor with a connection, a dialect and settings configured. | 
| static DSLContext | using(Connection connection,
     SQLDialect dialect)Create an executor with a connection and a dialect configured. | 
| static DSLContext | using(Connection connection,
     SQLDialect dialect,
     Settings settings)Create an executor with a connection, a dialect and settings configured. | 
| static DSLContext | using(DataSource datasource,
     SQLDialect dialect)Create an executor with a data source and a dialect configured. | 
| static DSLContext | using(DataSource datasource,
     SQLDialect dialect,
     Settings settings)Create an executor with a data source, a dialect and settings configured. | 
| static DSLContext | using(SQLDialect dialect)Create an executor with a dialect configured. | 
| static DSLContext | using(SQLDialect dialect,
     Settings settings)Create an executor with a dialect and settings configured. | 
| static DSLContext | using(String url)Create an executor from a JDBC connection URL. | 
| static DSLContext | using(String url,
     Properties properties)Create an executor from a JDBC connection URL. | 
| static DSLContext | using(String url,
     String username,
     String password)Create an executor from a JDBC connection URL. | 
| static Param<BigDecimal> | val(BigDecimal value)Get a bind value. | 
| static Param<BigInteger> | val(BigInteger value)Get a bind value. | 
| static Param<Boolean> | val(boolean value)Get a bind value. | 
| static Param<Boolean> | val(Boolean value)Get a bind value. | 
| static Param<Byte> | val(byte value)Get a bind value. | 
| static Param<Byte> | val(Byte value)Get a bind value. | 
| static Param<byte[]> | val(byte[] value)Get a bind value. | 
| static Param<Date> | val(Date value)Get a bind value. | 
| static Param<Double> | val(double value)Get a bind value. | 
| static Param<Double> | val(Double value)Get a bind value. | 
| static Param<Float> | val(float value)Get a bind value. | 
| static Param<Float> | val(Float value)Get a bind value. | 
| static Param<Integer> | val(int value)Get a bind value. | 
| static Param<Integer> | val(Integer value)Get a bind value. | 
| static Param<java.time.LocalDate> | val(java.time.LocalDate value)Get a bind value. | 
| static Param<java.time.LocalDateTime> | val(java.time.LocalDateTime value)Get a bind value. | 
| static Param<java.time.LocalTime> | val(java.time.LocalTime value)Get a bind value. | 
| static Param<Long> | val(long value)Get a bind value. | 
| static Param<Long> | val(Long value)Get a bind value. | 
| static <T> Param<T> | val(Object value,
   Class<T> type)Get a bind value with an associated type, taken from a field. | 
| static <T> Param<T> | val(Object value,
   DataType<T> type)Get a bind value with an associated type. | 
| static <T> Param<T> | val(Object value,
   Field<T> field)Get a bind value with an associated type, taken from a field. | 
| static Param<java.time.OffsetDateTime> | val(java.time.OffsetDateTime value)Get a bind value. | 
| static Param<java.time.OffsetTime> | val(java.time.OffsetTime value)Get a bind value. | 
| static Param<Short> | val(short value)Get a bind value. | 
| static Param<Short> | val(Short value)Get a bind value. | 
| static Param<String> | val(String value)Get a bind value. | 
| static <T> Param<T> | val(T value)Get a bind value. | 
| static Param<Time> | val(Time value)Get a bind value. | 
| static Param<Timestamp> | val(Timestamp value)Get a bind value. | 
| static Param<UByte> | val(UByte value)Get a bind value. | 
| static Param<UInteger> | val(UInteger value)Get a bind value. | 
| static Param<ULong> | val(ULong value)Get a bind value. | 
| static Param<UShort> | val(UShort value)Get a bind value. | 
| static Param<UUID> | val(UUID value)Get a bind value. | 
| static Param<BigDecimal> | value(BigDecimal value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<BigInteger> | value(BigInteger value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Boolean> | value(boolean value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Boolean> | value(Boolean value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Byte> | value(byte value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Byte> | value(Byte value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<byte[]> | value(byte[] value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Date> | value(Date value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Double> | value(double value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Double> | value(Double value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Float> | value(float value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Float> | value(Float value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Integer> | value(int value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Integer> | value(Integer value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<java.time.LocalDate> | value(java.time.LocalDate value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<java.time.LocalDateTime> | value(java.time.LocalDateTime value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<java.time.LocalTime> | value(java.time.LocalTime value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Long> | value(long value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Long> | value(Long value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static <T> Param<T> | value(Object value,
     Class<T> type)A synonym for  val(Object, Class)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static <T> Param<T> | value(Object value,
     DataType<T> type)A synonym for  val(Object, DataType)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static <T> Param<T> | value(Object value,
     Field<T> field)A synonym for  val(Object, Field)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<java.time.OffsetDateTime> | value(java.time.OffsetDateTime value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<java.time.OffsetTime> | value(java.time.OffsetTime value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Short> | value(short value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Short> | value(Short value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<String> | value(String value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static <T> Param<T> | value(T value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Time> | value(Time value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<Timestamp> | value(Timestamp value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<UByte> | value(UByte value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<UInteger> | value(UInteger value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<ULong> | value(ULong value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<UShort> | value(UShort value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static Param<UUID> | value(UUID value)A synonym for  val(Object)to be used in Scala and Groovy, wherevalis a reserved keyword. | 
| static <T1> Table<Record1<T1>> | values(Row1<T1>... rows)Create a  VALUES()expression of degree1. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> | values(Row10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>... rows)Create a  VALUES()expression of degree10. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> | values(Row11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>... rows)Create a  VALUES()expression of degree11. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> | values(Row12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>... rows)Create a  VALUES()expression of degree12. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> | values(Row13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>... rows)Create a  VALUES()expression of degree13. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> | values(Row14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>... rows)Create a  VALUES()expression of degree14. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> | values(Row15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>... rows)Create a  VALUES()expression of degree15. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> | values(Row16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>... rows)Create a  VALUES()expression of degree16. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> | values(Row17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>... rows)Create a  VALUES()expression of degree17. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> | values(Row18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>... rows)Create a  VALUES()expression of degree18. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> | values(Row19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>... rows)Create a  VALUES()expression of degree19. | 
| static <T1,T2> Table<Record2<T1,T2>> | values(Row2<T1,T2>... rows)Create a  VALUES()expression of degree2. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> | values(Row20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>... rows)Create a  VALUES()expression of degree20. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> | values(Row21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>... rows)Create a  VALUES()expression of degree21. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> | values(Row22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>... rows)Create a  VALUES()expression of degree22. | 
| static <T1,T2,T3> Table<Record3<T1,T2,T3>> | values(Row3<T1,T2,T3>... rows)Create a  VALUES()expression of degree3. | 
| static <T1,T2,T3,T4> | values(Row4<T1,T2,T3,T4>... rows)Create a  VALUES()expression of degree4. | 
| static <T1,T2,T3,T4,T5> | values(Row5<T1,T2,T3,T4,T5>... rows)Create a  VALUES()expression of degree5. | 
| static <T1,T2,T3,T4,T5,T6> | values(Row6<T1,T2,T3,T4,T5,T6>... rows)Create a  VALUES()expression of degree6. | 
| static <T1,T2,T3,T4,T5,T6,T7> | values(Row7<T1,T2,T3,T4,T5,T6,T7>... rows)Create a  VALUES()expression of degree7. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8> | values(Row8<T1,T2,T3,T4,T5,T6,T7,T8>... rows)Create a  VALUES()expression of degree8. | 
| static <T1,T2,T3,T4,T5,T6,T7,T8,T9> | values(Row9<T1,T2,T3,T4,T5,T6,T7,T8,T9>... rows)Create a  VALUES()expression of degree9. | 
| static Table<Record> | values(RowN... rows)Create a  VALUES()expression of arbitrary degree. | 
| static AggregateFunction<BigDecimal> | varPop(Field<? extends Number> field)Get the population variance of a numeric field: var_pop(field). | 
| static AggregateFunction<BigDecimal> | varSamp(Field<? extends Number> field)Get the sample variance of a numeric field: var_samp(field). | 
| static <T> CaseConditionStep<T> | when(Condition condition,
    Field<T> result)Initialise a  Casestatement. | 
| static <T> CaseConditionStep<T> | when(Condition condition,
    Select<? extends Record1<T>> result)Initialise a  Casestatement. | 
| static <T> CaseConditionStep<T> | when(Condition condition,
    T result)Initialise a  Casestatement. | 
| static WithStep | with(CommonTableExpression<?>... tables)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep | with(String alias)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep | with(String alias,
    String... fieldAliases)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep1 | with(String alias,
    String fieldAlias1)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep2 | with(String alias,
    String fieldAlias1,
    String fieldAlias2)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep3 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep4 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep5 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep6 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep7 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep8 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep9 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep10 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep11 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep12 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep13 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep14 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep15 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep16 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep17 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16,
    String fieldAlias17)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep18 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16,
    String fieldAlias17,
    String fieldAlias18)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep19 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16,
    String fieldAlias17,
    String fieldAlias18,
    String fieldAlias19)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep20 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16,
    String fieldAlias17,
    String fieldAlias18,
    String fieldAlias19,
    String fieldAlias20)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep21 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16,
    String fieldAlias17,
    String fieldAlias18,
    String fieldAlias19,
    String fieldAlias20,
    String fieldAlias21)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep22 | with(String alias,
    String fieldAlias1,
    String fieldAlias2,
    String fieldAlias3,
    String fieldAlias4,
    String fieldAlias5,
    String fieldAlias6,
    String fieldAlias7,
    String fieldAlias8,
    String fieldAlias9,
    String fieldAlias10,
    String fieldAlias11,
    String fieldAlias12,
    String fieldAlias13,
    String fieldAlias14,
    String fieldAlias15,
    String fieldAlias16,
    String fieldAlias17,
    String fieldAlias18,
    String fieldAlias19,
    String fieldAlias20,
    String fieldAlias21,
    String fieldAlias22)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithStep | withRecursive(CommonTableExpression<?>... tables)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep | withRecursive(String alias)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep | withRecursive(String alias,
             String... fieldAliases)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep1 | withRecursive(String alias,
             String fieldAlias1)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep2 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep3 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep4 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep5 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep6 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep7 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep8 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep9 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep10 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep11 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep12 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep13 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep14 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep15 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep16 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep17 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16,
             String fieldAlias17)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep18 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16,
             String fieldAlias17,
             String fieldAlias18)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep19 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16,
             String fieldAlias17,
             String fieldAlias18,
             String fieldAlias19)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep20 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16,
             String fieldAlias17,
             String fieldAlias18,
             String fieldAlias19,
             String fieldAlias20)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep21 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16,
             String fieldAlias17,
             String fieldAlias18,
             String fieldAlias19,
             String fieldAlias20,
             String fieldAlias21)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static WithAsStep22 | withRecursive(String alias,
             String fieldAlias1,
             String fieldAlias2,
             String fieldAlias3,
             String fieldAlias4,
             String fieldAlias5,
             String fieldAlias6,
             String fieldAlias7,
             String fieldAlias8,
             String fieldAlias9,
             String fieldAlias10,
             String fieldAlias11,
             String fieldAlias12,
             String fieldAlias13,
             String fieldAlias14,
             String fieldAlias15,
             String fieldAlias16,
             String fieldAlias17,
             String fieldAlias18,
             String fieldAlias19,
             String fieldAlias20,
             String fieldAlias21,
             String fieldAlias22)Create a  WITHclause to supply subsequentSELECT,UPDATE,INSERT,DELETE, andMERGEstatements withCommonTableExpressions. | 
| static Field<Integer> | year(Date value)Get the year part of a date. | 
| static Field<Integer> | year(Field<? extends Date> field)Get the year part of a date. | 
| static Param<Integer> | zero()A  0literal. | 
public static DSLContext using(SQLDialect dialect)
Without a connection or data source, this executor cannot execute queries. Use it to render SQL only.
dialect - The dialect to use with objects created from this executorpublic static DSLContext using(SQLDialect dialect, Settings settings)
Without a connection or data source, this executor cannot execute queries. Use it to render SQL only.
dialect - The dialect to use with objects created from this executorsettings - The runtime settings to apply to objects created from
            this executorpublic static DSLContext using(String url)
 Clients must ensure connections are closed properly by calling
 DSLContext.close() on the resulting DSLContext. For
 example:
 
 
 // Auto-closing DSLContext instance to free resources
 try (DSLContext ctx = DSL.using("jdbc:h2:~/test")) {
     // ...
 }
 
url - The connection URL.DefaultConnectionProvider, 
JDBCUtils.dialect(String)public static DSLContext using(String url, String username, String password)
 Clients must ensure connections are closed properly by calling
 DSLContext.close() on the resulting DSLContext. For
 example:
 
 
 // Auto-closing DSLContext instance to free resources
 try (DSLContext ctx = DSL.using("jdbc:h2:~/test", "sa", "")) {
     // ...
 }
 
url - The connection URL.username - The connection user name.password - The connection password.DefaultConnectionProvider, 
JDBCUtils.dialect(String)public static DSLContext using(String url, Properties properties)
 Clients must ensure connections are closed properly by calling
 DSLContext.close() on the resulting DSLContext. For
 example:
 
 
 // Auto-closing DSLContext instance to free resources
 try (DSLContext ctx = DSL.using("jdbc:h2:~/test", properties)) {
     // ...
 }
 
url - The connection URL.properties - The connection properties.DefaultConnectionProvider, 
JDBCUtils.dialect(String)public static DSLContext using(Connection connection)
If you provide a JDBC connection to a jOOQ Configuration, jOOQ will use that connection directly for creating statements.
 This is a convenience constructor for
 using(Connection, Settings), guessing the SQLDialect
 using JDBCUtils.dialect(Connection)
connection - The connection to use with objects created from this
            executorDefaultConnectionProvider, 
JDBCUtils.dialect(Connection)public static DSLContext using(Connection connection, SQLDialect dialect)
If you provide a JDBC connection to a jOOQ Configuration, jOOQ will use that connection directly for creating statements.
 This is a convenience constructor for
 using(ConnectionProvider, SQLDialect, Settings) using a
 DefaultConnectionProvider
connection - The connection to use with objects created from this
            executordialect - The dialect to use with objects created from this executorDefaultConnectionProviderpublic static DSLContext using(Connection connection, Settings settings)
If you provide a JDBC connection to a jOOQ Configuration, jOOQ will use that connection directly for creating statements.
 This is a convenience constructor for
 using(ConnectionProvider, SQLDialect, Settings) using a
 DefaultConnectionProvider and guessing the SQLDialect
 using JDBCUtils.dialect(Connection)
connection - The connection to use with objects created from this
            executorsettings - The runtime settings to apply to objects created from
            this executorDefaultConnectionProvider, 
JDBCUtils.dialect(Connection)public static DSLContext using(Connection connection, SQLDialect dialect, Settings settings)
If you provide a JDBC connection to a jOOQ Configuration, jOOQ will use that connection directly for creating statements.
 This is a convenience constructor for
 using(ConnectionProvider, SQLDialect, Settings) using a
 DefaultConnectionProvider
connection - The connection to use with objects created from this
            executordialect - The dialect to use with objects created from this executorsettings - The runtime settings to apply to objects created from
            this executorDefaultConnectionProviderpublic static DSLContext using(DataSource datasource, SQLDialect dialect)
If you provide a JDBC data source to a jOOQ Configuration, jOOQ will use that data source for initialising connections, and creating statements.
 This is a convenience constructor for
 using(ConnectionProvider, SQLDialect) using a
 DataSourceConnectionProvider
datasource - The data source to use with objects created from this
            executordialect - The dialect to use with objects created from this executorDataSourceConnectionProviderpublic static DSLContext using(DataSource datasource, SQLDialect dialect, Settings settings)
If you provide a JDBC data source to a jOOQ Configuration, jOOQ will use that data source for initialising connections, and creating statements.
 This is a convenience constructor for
 using(ConnectionProvider, SQLDialect, Settings) using a
 DataSourceConnectionProvider
datasource - The data source to use with objects created from this
            executordialect - The dialect to use with objects created from this executorsettings - The runtime settings to apply to objects created from
            this executorDataSourceConnectionProviderpublic static DSLContext using(ConnectionProvider connectionProvider, SQLDialect dialect)
connectionProvider - The connection provider providing jOOQ with
            JDBC connectionsdialect - The dialect to use with objects created from this executorpublic static DSLContext using(ConnectionProvider connectionProvider, SQLDialect dialect, Settings settings)
connectionProvider - The connection provider providing jOOQ with
            JDBC connectionsdialect - The dialect to use with objects created from this executorsettings - The runtime settings to apply to objects created from
            this executorpublic static DSLContext using(Configuration configuration)
configuration - The configuration@Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep with(String alias)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String) for strictly non-recursive CTE
 and withRecursive(String) for strictly
 recursive CTE.
@Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep with(String alias, String... fieldAliases)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep1 with(String alias, String fieldAlias1)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep2 with(String alias, String fieldAlias1, String fieldAlias2)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep3 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep4 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep5 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep6 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep7 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep8 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep9 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep10 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep11 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep12 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep13 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep14 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep15 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep16 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep17 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep18 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep19 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep20 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep21 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithAsStep22 with(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21, String fieldAlias22)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
@Support(value={DB2,FIREBIRD,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static WithStep with(CommonTableExpression<?>... tables)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 Reusable CommonTableExpression types can be constructed through
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(CommonTableExpression...) for strictly non-recursive CTE
 and withRecursive(CommonTableExpression...) for strictly
 recursive CTE.
@Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep withRecursive(String alias)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String) for strictly non-recursive CTE
 and withRecursive(String) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep withRecursive(String alias, String... fieldAliases)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep1 withRecursive(String alias, String fieldAlias1)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep2 withRecursive(String alias, String fieldAlias1, String fieldAlias2)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep3 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep4 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep5 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep6 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep7 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep8 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep9 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep10 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep11 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep12 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep13 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep14 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep15 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep16 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep17 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep18 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep19 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep20 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep21 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Generated(value="This method was generated using jOOQ-tools") @Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithAsStep22 withRecursive(String alias, String fieldAlias1, String fieldAlias2, String fieldAlias3, String fieldAlias4, String fieldAlias5, String fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9, String fieldAlias10, String fieldAlias11, String fieldAlias12, String fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19, String fieldAlias20, String fieldAlias21, String fieldAlias22)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(String, String...) for strictly non-recursive CTE
 and withRecursive(String, String...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static WithStep withRecursive(CommonTableExpression<?>... tables)
WITH clause to supply subsequent
 SELECT, UPDATE, INSERT,
 DELETE, and MERGE statements with
 CommonTableExpressions.
 
 Reusable CommonTableExpression types can be constructed through
 
 The RECURSIVE keyword may be optional or unsupported in some
 databases, in case of which it will not be rendered. For optimal database
 interoperability and readability, however, it is suggested that you use
 with(CommonTableExpression...) for strictly non-recursive CTE
 and withRecursive(CommonTableExpression...) for strictly
 recursive CTE.
 
 Note that the SQLDialect.H2 database only supports single-table,
 RECURSIVE common table expression lists.
@Support public static <R extends Record> SelectWhereStep<R> selectFrom(Table<R> table)
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 SELECT * FROM [table] WHERE [conditions] ORDER BY [ordering] LIMIT [limit clause]
 
@Support public static SelectSelectStep<Record> select(Collection<? extends SelectField<?>> fields)
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(fields)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
 Note that passing an empty collection conveniently produces
 SELECT * semantics.
DSLContext.select(Collection)@Support public static SelectSelectStep<Record> select(SelectField<?>... fields)
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
 Note that passing an empty array (e.g. by not passing any vararg
 argument) conveniently produces SELECT * semantics.
DSLContext.select(SelectField...)@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1> SelectSelectStep<Record1<T1>> select(SelectField<T1> field1)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Field.in(Select), Field.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2> SelectSelectStep<Record2<T1,T2>> select(SelectField<T1> field1, SelectField<T2> field2)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row2.in(Select), Row2.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3> SelectSelectStep<Record3<T1,T2,T3>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row3.in(Select), Row3.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4> SelectSelectStep<Record4<T1,T2,T3,T4>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row4.in(Select), Row4.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, field4)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5> SelectSelectStep<Record5<T1,T2,T3,T4,T5>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row5.in(Select), Row5.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, field4, field5)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6> SelectSelectStep<Record6<T1,T2,T3,T4,T5,T6>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row6.in(Select), Row6.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field5, field6)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7> SelectSelectStep<Record7<T1,T2,T3,T4,T5,T6,T7>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row7.in(Select), Row7.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field6, field7)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8> SelectSelectStep<Record8<T1,T2,T3,T4,T5,T6,T7,T8>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row8.in(Select), Row8.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field7, field8)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> SelectSelectStep<Record9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row9.in(Select), Row9.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field8, field9)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> SelectSelectStep<Record10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row10.in(Select), Row10.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field9, field10)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> SelectSelectStep<Record11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row11.in(Select), Row11.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field10, field11)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> SelectSelectStep<Record12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row12.in(Select), Row12.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field11, field12)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> SelectSelectStep<Record13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row13.in(Select), Row13.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field12, field13)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> SelectSelectStep<Record14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row14.in(Select), Row14.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field13, field14)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> SelectSelectStep<Record15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row15.in(Select), Row15.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field14, field15)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> SelectSelectStep<Record16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row16.in(Select), Row16.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field15, field16)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> SelectSelectStep<Record17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row17.in(Select), Row17.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field16, field17)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> SelectSelectStep<Record18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row18.in(Select), Row18.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field17, field18)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> SelectSelectStep<Record19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row19.in(Select), Row19.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field18, field19)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> SelectSelectStep<Record20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19, SelectField<T20> field20)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row20.in(Select), Row20.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field19, field20)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> SelectSelectStep<Record21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19, SelectField<T20> field20, SelectField<T21> field21)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row21.in(Select), Row21.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field20, field21)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> SelectSelectStep<Record22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>> select(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19, SelectField<T20> field20, SelectField<T21> field21, SelectField<T22> field22)
 This is the same as #select(Field...), except that it declares
 additional record-level typesafety, which is needed by
 Row22.in(Select), Row22.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 select(field1, field2, field3, .., field21, field22)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Support public static SelectSelectStep<Record> selectDistinct(Collection<? extends SelectField<?>> fields)
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(fields)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
 Note that passing an empty collection conveniently produces
 SELECT DISTINCT * semantics.
DSLContext.selectDistinct(Collection)@Support public static SelectSelectStep<Record> selectDistinct(SelectField<?>... fields)
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
 Note that passing an empty array (e.g. by not passing any vararg
 argument) conveniently produces SELECT DISTINCT * semantics.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1> SelectSelectStep<Record1<T1>> selectDistinct(SelectField<T1> field1)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Field.in(Select), Field.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2> SelectSelectStep<Record2<T1,T2>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row2.in(Select), Row2.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3> SelectSelectStep<Record3<T1,T2,T3>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row3.in(Select), Row3.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4> SelectSelectStep<Record4<T1,T2,T3,T4>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row4.in(Select), Row4.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, field4)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5> SelectSelectStep<Record5<T1,T2,T3,T4,T5>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row5.in(Select), Row5.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, field4, field5)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6> SelectSelectStep<Record6<T1,T2,T3,T4,T5,T6>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row6.in(Select), Row6.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field5, field6)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7> SelectSelectStep<Record7<T1,T2,T3,T4,T5,T6,T7>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row7.in(Select), Row7.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field6, field7)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8> SelectSelectStep<Record8<T1,T2,T3,T4,T5,T6,T7,T8>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row8.in(Select), Row8.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field7, field8)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> SelectSelectStep<Record9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row9.in(Select), Row9.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field8, field9)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> SelectSelectStep<Record10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row10.in(Select), Row10.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field9, field10)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> SelectSelectStep<Record11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row11.in(Select), Row11.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field10, field11)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> SelectSelectStep<Record12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row12.in(Select), Row12.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field11, field12)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> SelectSelectStep<Record13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row13.in(Select), Row13.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field12, field13)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> SelectSelectStep<Record14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row14.in(Select), Row14.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field13, field14)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> SelectSelectStep<Record15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row15.in(Select), Row15.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field14, field15)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> SelectSelectStep<Record16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row16.in(Select), Row16.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field15, field16)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> SelectSelectStep<Record17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row17.in(Select), Row17.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field16, field17)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> SelectSelectStep<Record18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row18.in(Select), Row18.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field17, field18)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> SelectSelectStep<Record19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row19.in(Select), Row19.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field18, field19)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> SelectSelectStep<Record20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19, SelectField<T20> field20)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row20.in(Select), Row20.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field19, field20)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> SelectSelectStep<Record21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19, SelectField<T20> field20, SelectField<T21> field21)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row21.in(Select), Row21.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field20, field21)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> SelectSelectStep<Record22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>> selectDistinct(SelectField<T1> field1, SelectField<T2> field2, SelectField<T3> field3, SelectField<T4> field4, SelectField<T5> field5, SelectField<T6> field6, SelectField<T7> field7, SelectField<T8> field8, SelectField<T9> field9, SelectField<T10> field10, SelectField<T11> field11, SelectField<T12> field12, SelectField<T13> field13, SelectField<T14> field14, SelectField<T15> field15, SelectField<T16> field16, SelectField<T17> field17, SelectField<T18> field18, SelectField<T19> field19, SelectField<T20> field20, SelectField<T21> field21, SelectField<T22> field22)
 This is the same as #selectDistinct(Field...), except that it
 declares additional record-level typesafety, which is needed by
 Row22.in(Select), Row22.equal(Select) and other predicate
 building methods taking subselect arguments.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectDistinct(field1, field2, field3, .., field21, field22)
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
@Support public static SelectSelectStep<Record1<Integer>> selectZero()
0
 literal.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectZero()
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
zero(), 
DSLContext.selectZero()@Support public static SelectSelectStep<Record1<Integer>> selectOne()
1
 literal.
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectOne()
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
one(), 
DSLContext.selectOne()@Support public static SelectSelectStep<Record1<Integer>> selectCount()
COUNT(*).
 
 Unlike Select factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 SELECT statement. You can use this statement in two ways:
 
Attachable.attach(org.jooq.Configuration)
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 selectCount()
  .from(table1)
  .join(table2).on(field1.equal(field2))
  .where(field1.greaterThan(100))
  .orderBy(field2);
 
count(), 
DSLContext.selectCount()@Support public static <R extends Record> InsertSetStep<R> insertInto(Table<R> into)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 This type of insert may feel more convenient to some users, as it uses
 the UPDATE statement's SET a = b syntax.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table)
   .set(field1, value1)
   .set(field2, value2)
   .newRecord()
   .set(field1, value3)
   .set(field2, value4)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
DSLContext.insertInto(Table)@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1> InsertValuesStep1<R,T1> insertInto(Table<R> into, Field<T1> field1)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1)
   .values(field1)
   .values(field1)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
DSLContext.insertInto(Table, Field)@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2> InsertValuesStep2<R,T1,T2> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2)
   .values(field1, field2)
   .values(field1, field2)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3> InsertValuesStep3<R,T1,T2,T3> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3)
   .values(field1, field2, field3)
   .values(field1, field2, field3)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4> InsertValuesStep4<R,T1,T2,T3,T4> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, field4)
   .values(field1, field2, field3, field4)
   .values(field1, field2, field3, field4)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5> InsertValuesStep5<R,T1,T2,T3,T4,T5> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, field4, field5)
   .values(field1, field2, field3, field4, field5)
   .values(field1, field2, field3, field4, field5)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6> InsertValuesStep6<R,T1,T2,T3,T4,T5,T6> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field5, field6)
   .values(valueA1, valueA2, valueA3, .., valueA5, valueA6)
   .values(valueB1, valueB2, valueB3, .., valueB5, valueB6)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7> InsertValuesStep7<R,T1,T2,T3,T4,T5,T6,T7> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field6, field7)
   .values(valueA1, valueA2, valueA3, .., valueA6, valueA7)
   .values(valueB1, valueB2, valueB3, .., valueB6, valueB7)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8> InsertValuesStep8<R,T1,T2,T3,T4,T5,T6,T7,T8> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field7, field8)
   .values(valueA1, valueA2, valueA3, .., valueA7, valueA8)
   .values(valueB1, valueB2, valueB3, .., valueB7, valueB8)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9> InsertValuesStep9<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field8, field9)
   .values(valueA1, valueA2, valueA3, .., valueA8, valueA9)
   .values(valueB1, valueB2, valueB3, .., valueB8, valueB9)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> InsertValuesStep10<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field9, field10)
   .values(valueA1, valueA2, valueA3, .., valueA9, valueA10)
   .values(valueB1, valueB2, valueB3, .., valueB9, valueB10)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> InsertValuesStep11<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field10, field11)
   .values(valueA1, valueA2, valueA3, .., valueA10, valueA11)
   .values(valueB1, valueB2, valueB3, .., valueB10, valueB11)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> InsertValuesStep12<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field11, field12)
   .values(valueA1, valueA2, valueA3, .., valueA11, valueA12)
   .values(valueB1, valueB2, valueB3, .., valueB11, valueB12)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> InsertValuesStep13<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field12, field13)
   .values(valueA1, valueA2, valueA3, .., valueA12, valueA13)
   .values(valueB1, valueB2, valueB3, .., valueB12, valueB13)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> InsertValuesStep14<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field13, field14)
   .values(valueA1, valueA2, valueA3, .., valueA13, valueA14)
   .values(valueB1, valueB2, valueB3, .., valueB13, valueB14)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> InsertValuesStep15<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field14, field15)
   .values(valueA1, valueA2, valueA3, .., valueA14, valueA15)
   .values(valueB1, valueB2, valueB3, .., valueB14, valueB15)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> InsertValuesStep16<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field15, field16)
   .values(valueA1, valueA2, valueA3, .., valueA15, valueA16)
   .values(valueB1, valueB2, valueB3, .., valueB15, valueB16)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> InsertValuesStep17<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field16, field17)
   .values(valueA1, valueA2, valueA3, .., valueA16, valueA17)
   .values(valueB1, valueB2, valueB3, .., valueB16, valueB17)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> InsertValuesStep18<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field17, field18)
   .values(valueA1, valueA2, valueA3, .., valueA17, valueA18)
   .values(valueB1, valueB2, valueB3, .., valueB17, valueB18)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> InsertValuesStep19<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field18, field19)
   .values(valueA1, valueA2, valueA3, .., valueA18, valueA19)
   .values(valueB1, valueB2, valueB3, .., valueB18, valueB19)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> InsertValuesStep20<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field19, field20)
   .values(valueA1, valueA2, valueA3, .., valueA19, valueA20)
   .values(valueB1, valueB2, valueB3, .., valueB19, valueB20)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> InsertValuesStep21<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field20, field21)
   .values(valueA1, valueA2, valueA3, .., valueA20, valueA21)
   .values(valueB1, valueB2, valueB3, .., valueB20, valueB21)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Generated(value="This method was generated using jOOQ-tools") @Support public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> InsertValuesStep22<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> insertInto(Table<R> into, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2, field3, .., field21, field22)
   .values(valueA1, valueA2, valueA3, .., valueA21, valueA22)
   .values(valueB1, valueB2, valueB3, .., valueB21, valueB22)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
@Support public static <R extends Record> InsertValuesStepN<R> insertInto(Table<R> into, Field<?>... fields)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2)
   .values(valueA1, valueA2)
   .values(valueB1, valueB2)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
DSLContext.insertInto(Table, Field...)@Support public static <R extends Record> InsertValuesStepN<R> insertInto(Table<R> into, Collection<? extends Field<?>> fields)
 Unlike Insert factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 INSERT statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 insertInto(table, field1, field2)
   .values(valueA1, valueA2)
   .values(valueB1, valueB2)
   .onDuplicateKeyUpdate()
   .set(field1, value1)
   .set(field2, value2)
 
DSLContext.insertInto(Table, Collection)@Support public static <R extends Record> UpdateSetFirstStep<R> update(Table<R> table)
 Unlike Update factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 UPDATE statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 update(table)
   .set(field1, value1)
   .set(field2, value2)
   .where(field1.greaterThan(100))
 
 Note that some databases support table expressions more complex than
 simple table references. In CUBRID and MySQL, for instance, you can write
 
 update(t1.join(t2).on(t1.id.eq(t2.id)))
   .set(t1.value, value1)
   .set(t2.value, value2)
   .where(t1.id.eq(10))
 
@Support(value={CUBRID,DB2,FIREBIRD_3_0,HSQLDB,INFORMIX,ORACLE,SQLSERVER,SYBASE}) public static <R extends Record> MergeUsingStep<R> mergeInto(Table<R> table)
 Unlike Merge factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 MERGE statement.
 
This statement is available from DSL syntax only. It is known to be supported in some way by any of these dialects:
| dialect | support type | documentation | 
|---|---|---|
| CUBRID | SQL:2008 standard and some enhancements | http://www.cubrid.org/manual/90/en/MERGE | 
| DB2 | SQL:2008 standard and major enhancements | http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com. ibm.db2.udb.admin.doc/doc/r0010873.htm | 
| HSQLDB | SQL:2008 standard | http://hsqldb.org/doc/2.0/guide/dataaccess-chapt.html#N129BA | 
| Oracle | SQL:2008 standard and minor enhancements | http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/ statements_9016.htm | 
| SQL Server | Similar to SQL:2008 standard with some major enhancements | http://msdn.microsoft.com/de-de/library/bb510625.aspx | 
| Sybase | Similar to SQL:2008 standard with some major enhancements | http://dcx.sybase.com/1100/en/dbreference_en11/merge-statement.html | 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 mergeInto(table)
   .using(select)
   .on(condition)
   .whenMatchedThenUpdate()
   .set(field1, value1)
   .set(field2, value2)
   .whenNotMatchedThenInsert(field1, field2)
   .values(value1, value2)
 
 Note: Using this method, you can also create an H2-specific MERGE
 statement without field specification. See also
 mergeInto(Table, Field...)
DSLContext.mergeInto(Table)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1> MergeKeyStep1<R,T1> mergeInto(Table<R> table, Field<T1> field1)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2> MergeKeyStep2<R,T1,T2> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3> MergeKeyStep3<R,T1,T2,T3> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4> MergeKeyStep4<R,T1,T2,T3,T4> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5> MergeKeyStep5<R,T1,T2,T3,T4,T5> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6> MergeKeyStep6<R,T1,T2,T3,T4,T5,T6> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7> MergeKeyStep7<R,T1,T2,T3,T4,T5,T6,T7> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8> MergeKeyStep8<R,T1,T2,T3,T4,T5,T6,T7,T8> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9> MergeKeyStep9<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> MergeKeyStep10<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> MergeKeyStep11<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> MergeKeyStep12<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> MergeKeyStep13<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> MergeKeyStep14<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> MergeKeyStep15<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> MergeKeyStep16<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> MergeKeyStep17<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> MergeKeyStep18<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> MergeKeyStep19<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> MergeKeyStep20<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> MergeKeyStep21<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21)
DSLContext.mergeInto(Table, Field...)@Generated(value="This method was generated using jOOQ-tools") @Support(value={CUBRID,DB2,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static <R extends Record,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> MergeKeyStep22<R,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> mergeInto(Table<R> table, Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22)
DSLContext.mergeInto(Table, Field...)@Support(value={CUBRID,DB2,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE}) public static <R extends Record> MergeKeyStepN<R> mergeInto(Table<R> table, Field<?>... fields)
 Unlike Merge factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 MERGE statement.
 
This statement is available from DSL syntax only. It is known to be supported in some way by any of these dialects:
| H2 | H2 natively supports this special syntax | www.h2database.com/html/grammar.html#merge | 
| DB2, HSQLDB, Oracle, SQL Server, Sybase SQL Anywhere | These databases can emulate the H2-specific MERGE statement using a standard SQL MERGE statement, without restrictions | See mergeInto(Table)for the standard MERGE statement | 
DSLContext.mergeInto(Table, Field...)@Support(value={CUBRID,DB2,H2,HSQLDB,ORACLE,SQLSERVER,SYBASE}) public static <R extends Record> MergeKeyStepN<R> mergeInto(Table<R> table, Collection<? extends Field<?>> fields)
 Unlike Merge factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 MERGE statement.
DSLContext.mergeInto(Table, Collection)@Support public static <R extends Record> DeleteWhereStep<R> deleteFrom(Table<R> table)
 Unlike Delete factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 DELETE statement.
 
 Example: 
 import static org.jooq.impl.DSL.*;
 // [...]
 deleteFrom(table)
   .where(field1.greaterThan(100))
 
Some but not all databases support aliased tables in delete statements.
DSLContext.deleteFrom(Table)@Support public static <R extends Record> DeleteWhereStep<R> delete(Table<R> table)
 This is an alias for deleteFrom(Table)
@Support public static ConstraintTypeStep constraint(Name name)
CONSTRAINT specification.@Support public static ConstraintTypeStep constraint(String name)
CONSTRAINT specification.@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,SQLITE}) public static CreateTableAsStep<Record> createTable(String table)
CREATE TABLE statement.DSLContext.createTable(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,SQLITE}) public static CreateTableAsStep<Record> createTable(Name table)
CREATE TABLE statement.DSLContext.createTable(Name)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,SQLITE}) public static CreateTableAsStep<Record> createTable(Table<?> table)
CREATE TABLE statement.DSLContext.createTable(Table)@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static CreateTableAsStep<Record> createTableIfNotExists(String table)
CREATE TABLE statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static CreateTableAsStep<Record> createTableIfNotExists(Name table)
CREATE TABLE statement.DSLContext.createTableIfNotExists(Name)@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static CreateTableAsStep<Record> createTableIfNotExists(Table<?> table)
CREATE TABLE statement.DSLContext.createTableIfNotExists(Table)@Support(value={MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT}) public static CreateTableAsStep<Record> createTemporaryTable(String table)
CREATE GLOBAL TEMPORARY TABLE statement.DSLContext.createTemporaryTable(String)@Support(value={MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT}) public static CreateTableAsStep<Record> createTemporaryTable(Name table)
CREATE GLOBAL TEMPORARY TABLE statement.DSLContext.createTemporaryTable(Name)@Support(value={MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT}) public static CreateTableAsStep<Record> createTemporaryTable(Table<?> table)
CREATE GLOBAL TEMPORARY TABLE statement.DSLContext.createTemporaryTable(Table)@Support(value={MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT}) public static CreateTableAsStep<Record> createGlobalTemporaryTable(String table)
CREATE GLOBAL TEMPORARY TABLE statement.@Support(value={MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT}) public static CreateTableAsStep<Record> createGlobalTemporaryTable(Name table)
CREATE GLOBAL TEMPORARY TABLE statement.@Support(value={MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT}) public static CreateTableAsStep<Record> createGlobalTemporaryTable(Table<?> table)
CREATE GLOBAL TEMPORARY TABLE statement.@Support public static CreateViewAsStep createView(String view, String... fields)
CREATE VIEW statement.DSLContext.createView(String, String...)@Support public static CreateViewAsStep createView(Name view, Name... fields)
CREATE VIEW statement.DSLContext.createView(Name, Name...)@Support public static CreateViewAsStep createView(Table<?> view, Field<?>... fields)
CREATE VIEW statement.DSLContext.createView(Table, Field...)@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static CreateViewAsStep createViewIfNotExists(String view, String... fields)
CREATE VIEW IF NOT EXISTS statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static CreateViewAsStep createViewIfNotExists(Name view, Name... fields)
CREATE VIEW IF NOT EXISTS statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static CreateViewAsStep createViewIfNotExists(Table<?> view, Field<?>... fields)
CREATE VIEW IF NOT EXISTS statement.@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createIndex(String index)
CREATE INDEX statement.DSLContext.createIndex(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createIndex(Name index)
CREATE INDEX statement.DSLContext.createIndex(Name)@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createIndexIfNotExists(String index)
CREATE INDEX IF NOT EXISTS statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createIndexIfNotExists(Name index)
CREATE INDEX IF NOT EXISTS statement.DSLContext.createIndexIfNotExists(Name)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createUniqueIndex(String index)
CREATE UNIQUE INDEX statement.DSLContext.createUniqueIndex(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createUniqueIndex(Name index)
CREATE UNIQUE INDEX statement.DSLContext.createUniqueIndex(Name)@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createUniqueIndexIfNotExists(String index)
CREATE UNIQUE INDEX IF NOT EXISTS statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static CreateIndexStep createUniqueIndexIfNotExists(Name index)
CREATE UNIQUE INDEX IF NOT EXISTS statement.@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static CreateSequenceFinalStep createSequence(String sequence)
CREATE SEQUENCE statement.DSLContext.createSequence(String)@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static CreateSequenceFinalStep createSequence(Name sequence)
CREATE SEQUENCE statement.DSLContext.createSequence(Name)@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static CreateSequenceFinalStep createSequence(Sequence<?> sequence)
CREATE SEQUENCE statement.DSLContext.createSequence(Sequence)@Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static CreateSequenceFinalStep createSequenceIfNotExists(String sequence)
CREATE SEQUENCE IF NOT EXISTS statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static CreateSequenceFinalStep createSequenceIfNotExists(Name sequence)
CREATE SEQUENCE IF NOT EXISTS statement.@Support(value={DB2,FIREBIRD,H2,HSQLDB,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static CreateSequenceFinalStep createSequenceIfNotExists(Sequence<?> sequence)
CREATE SEQUENCE IF NOT EXISTS statement.@Support(value={CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,POSTGRES,SQLSERVER2012,SYBASE}) public static AlterSequenceRestartStep<BigInteger> alterSequence(String sequence)
ALTER SEQUENCE statement.DSLContext.alterSequence(String)@Support(value={CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,POSTGRES,SQLSERVER2012,SYBASE}) public static AlterSequenceRestartStep<BigInteger> alterSequence(Name sequence)
ALTER SEQUENCE statement.DSLContext.alterSequence(Name)@Support(value={CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> AlterSequenceRestartStep<T> alterSequence(Sequence<T> sequence)
ALTER SEQUENCE statement.DSLContext.alterSequence(Sequence)@Support public static AlterTableStep alterTable(String table)
ALTER TABLE statement.DSLContext.alterTable(String)@Support public static AlterTableStep alterTable(Name table)
ALTER TABLE statement.DSLContext.alterTable(Name)@Support public static AlterTableStep alterTable(Table<?> table)
ALTER TABLE statement.DSLContext.alterTable(Table)@Support public static DropViewFinalStep dropView(String view)
DROP VIEW statement.DSLContext.dropView(String)@Support public static DropViewFinalStep dropView(Name view)
DROP VIEW statement.DSLContext.dropView(Name)@Support public static DropViewFinalStep dropView(Table<?> view)
DROP VIEW statement.DSLContext.dropView(Table)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropViewFinalStep dropViewIfExists(String view)
DROP VIEW IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropViewIfExists(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropViewFinalStep dropViewIfExists(Name view)
DROP VIEW IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropViewIfExists(Name)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropViewFinalStep dropViewIfExists(Table<?> view)
DROP VIEW IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropViewIfExists(Table)@Support public static DropTableStep dropTable(String table)
DROP TABLE statement.DSLContext.dropTable(String)@Support public static DropTableStep dropTable(Name table)
DROP TABLE statement.DSLContext.dropTable(Name)@Support public static DropTableStep dropTable(Table<?> table)
DROP TABLE statement.DSLContext.dropTable(Table)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropTableStep dropTableIfExists(String table)
DROP TABLE IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropTableIfExists(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropTableStep dropTableIfExists(Name table)
DROP TABLE IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropTableIfExists(Name)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropTableStep dropTableIfExists(Table<?> table)
DROP TABLE IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropTableIfExists(Table)@Support public static DropIndexOnStep dropIndex(String index)
DROP INDEX statement.DSLContext.dropIndex(String)@Support public static DropIndexOnStep dropIndex(Name index)
DROP INDEX statement.DSLContext.dropIndex(Name)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropIndexOnStep dropIndexIfExists(String index)
DROP INDEX IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropIndexIfExists(String)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static DropIndexOnStep dropIndexIfExists(Name index)
DROP INDEX IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropIndexIfExists(String)@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> DropSequenceFinalStep dropSequence(String sequence)
DROP SEQUENCE statement.DSLContext.dropSequence(String)@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> DropSequenceFinalStep dropSequence(Name sequence)
DROP SEQUENCE statement.DSLContext.dropSequence(Name)@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> DropSequenceFinalStep dropSequence(Sequence<?> sequence)
DROP SEQUENCE statement.DSLContext.dropSequence(Sequence)@Support(value={CUBRID,DB2,FIREBIRD,H2,HSQLDB,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> DropSequenceFinalStep dropSequenceIfExists(String sequence)
DROP SEQUENCE IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropSequenceIfExists(String)@Support(value={CUBRID,DB2,FIREBIRD,H2,HSQLDB,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> DropSequenceFinalStep dropSequenceIfExists(Name sequence)
DROP SEQUENCE IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
DSLContext.dropSequenceIfExists(Name)@Support(value={CUBRID,DB2,FIREBIRD,H2,HSQLDB,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> DropSequenceFinalStep dropSequenceIfExists(Sequence<?> sequence)
DROP SEQUENCE IF EXISTS statement.
 
 If your database doesn't natively support IF EXISTS, this is
 emulated by catching (and ignoring) the relevant SQLException.
@Support public static TruncateIdentityStep<Record> truncate(Name table)
 Unlike Delete factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 DELETE statement.
 
Example:
 
 import static org.jooq.impl.DSL.*;
 // [...]
 truncate(table);
 
TRUNCATE
 Most dialects implement the TRUNCATE statement. If it is not
 supported, it is emulated using an equivalent DELETE
 statement. This is particularly true for these dialects:
 
TRUNCATE
 Some statements also support extensions of the TRUNCATE
 statement, such as Postgres:
 
 
 truncate(table)
   .restartIdentity()
   .cascade()
 
These vendor-specific extensions are currently not emulated for those dialects that do not support them natively.
DSLContext.truncate(Name)@Support public static <R extends Record> TruncateIdentityStep<R> truncate(Table<R> table)
 Unlike Delete factory methods in the DSLContext API, this
 creates an unattached, and thus not directly renderable or executable
 DELETE statement.
 
Example:
 
 import static org.jooq.impl.DSL.*;
 // [...]
 truncate(table);
 
TRUNCATE
 Most dialects implement the TRUNCATE statement. If it is not
 supported, it is emulated using an equivalent DELETE
 statement. This is particularly true for these dialects:
 
TRUNCATE
 Some statements also support extensions of the TRUNCATE
 statement, such as Postgres:
 
 
 truncate(table)
   .restartIdentity()
   .cascade()
 
These vendor-specific extensions are currently not emulated for those dialects that do not support them natively.
DSLContext.truncate(Table)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <R extends Record> QuantifiedSelect<R> all(Select<R> select)
ALL quantified select to be used in quantified
 comparison predicate expressions.@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T> QuantifiedSelect<Record1<T>> all(T... array)
ALL quantified select to be used in quantified
 comparison predicate expressions.
 
 This is natively supported by SQLDialect.POSTGRES. Other dialects
 will render a subselect unnesting the array.
@Support(value={H2,HSQLDB,POSTGRES}) public static <T> QuantifiedSelect<Record1<T>> all(Field<T[]> array)
ALL quantified select to be used in quantified
 comparison predicate expressions.
 
 This is natively supported by SQLDialect.POSTGRES. Other dialects
 will render a subselect unnesting the array.
@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <R extends Record> QuantifiedSelect<R> any(Select<R> select)
ANY quantified select to be used in quantified
 comparison predicate expressions.@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T> QuantifiedSelect<Record1<T>> any(T... array)
ANY quantified select to be used in quantified
 comparison predicate expressions.
 
 This is natively supported by SQLDialect.POSTGRES. Other dialects
 will render a subselect unnesting the array.
@Support(value={H2,HSQLDB,POSTGRES}) public static <T> QuantifiedSelect<Record1<T>> any(Field<T[]> array)
ANY quantified select to be used in quantified
 comparison predicate expressions.
 
 This is natively supported by SQLDialect.POSTGRES. Other dialects
 will render a subselect unnesting the array.
@Support public static <R extends Record> Table<R> table(Select<R> select)
TableLike.asTable(), which might look a bit more fluent
 like this, to some users.TableLike.asTable()@Support public static <R extends Record> Table<R> table(Result<R> result)
Table that can be used
 in SQL statements through values(RowN...).values(RowN...)@Support public static <R extends Record> Table<R> table(R record)
@Support public static <R extends Record> Table<R> table(R... records)
@Support public static Table<?> table(List<?> list)
unnest(List).unnest(List)@Support public static Table<?> table(Object[] array)
unnest(Object[]).unnest(Object[])@Support(value=ORACLE) public static Table<?> table(ArrayRecord<?> array)
unnest(ArrayRecord).unnest(ArrayRecord)@Support(value={H2,HSQLDB,POSTGRES,ORACLE}) public static Table<?> table(Field<?> cursor)
unnest(Field).unnest(Field)@Support public static Table<?> unnest(List<?> list)
 This is equivalent to the TABLE function for H2, or the
 UNNEST function in HSQLDB and Postgres
 
 For Oracle, use table(ArrayRecord) instead, as Oracle knows only
 typed arrays
 
 In all other dialects, unnesting of arrays is emulated using several
 UNION ALL connected subqueries.
@Support public static Table<?> unnest(Object[] array)
 This is equivalent to the TABLE function for H2, or the
 UNNEST function in HSQLDB and Postgres
 
 For Oracle, use table(ArrayRecord) instead, as Oracle knows only
 typed arrays
 
 In all other dialects, unnesting of arrays is emulated using several
 UNION ALL connected subqueries.
@Support(value=ORACLE) public static Table<?> unnest(ArrayRecord<?> array)
 This wraps the argument array in a TABLE function for
 Oracle. Currently, only Oracle knows typed arrays
@Support(value={H2,HSQLDB,POSTGRES,ORACLE}) public static Table<?> unnest(Field<?> cursor)
The supplied field can have any of these types:
Result: For CURSOR or REF CURSOR
 fields, typically fetched from stored functions or from nested tablesArrayRecord: For Oracle-style VARRAY types.Object[]: Array types, for other RDBMS's ARRAY types (e.g.
 H2, HSQLDB, and Postgres)Object: Any other type that jOOQ will try to convert in an
 array first, before converting that array into a table
 This functionality has only limited scope when used in H2, as ARRAY types
 involved with stored functions can only be of type Object[].
 Such arrays are converted into VARCHAR arrays by jOOQ.
 
 In all dialects where arrays are not supported, unnesting of arrays is
 emulated using several UNION ALL connected subqueries.
@Support public static Table<Record> dual()
DUAL table to be used for syntactic completeness.
 
 In general, jOOQ will generate a DUAL table (or any
 equivalent construct, see below), if this is needed syntactically in
 generated SQL. You may still wish to explicitly use a DUAL
 construct in jOOQ code for various reasons. This DUAL table
 will always contain a single record with a single varchar(1) value:
 
 +-------+
 | DUMMY |
 +-------+
 | X     |
 +-------+
 
@Support(value={CUBRID,ORACLE,POSTGRES}) public static Table<Record1<Integer>> generateSeries(int from, int to)
from to
 to (inclusive).
 
 This function is inspired by PostgreSQL's
 GENERATE_SERIES(from, to) function. Other SQL dialects may
 be capable of emulating this behaviour, e.g. Oracle: 
 -- PostgreSQL
 SELECT * FROM GENERATE_SERIES(a, b)
 -- Oracle
 SELECT * FROM (SELECT a + LEVEL - 1 FROM DUAL CONNECT BY a + LEVEL - 1 <= b)
 
@Support(value={CUBRID,ORACLE,POSTGRES}) public static Table<Record1<Integer>> generateSeries(int from, Field<Integer> to)
from to
 to (inclusive).
 
 This function is inspired by PostgreSQL's
 GENERATE_SERIES(from, to) function. Other SQL dialects may
 be capable of emulating this behaviour, e.g. Oracle: 
 -- PostgreSQL
 SELECT * FROM GENERATE_SERIES(a, b)
 -- Oracle
 SELECT * FROM (SELECT a + LEVEL - 1 FROM DUAL CONNECT BY a + LEVEL - 1 <= b)
 
@Support(value={CUBRID,ORACLE,POSTGRES}) public static Table<Record1<Integer>> generateSeries(Field<Integer> from, int to)
from to
 to (inclusive).
 
 This function is inspired by PostgreSQL's
 GENERATE_SERIES(from, to) function. Other SQL dialects may
 be capable of emulating this behaviour, e.g. Oracle: 
 -- PostgreSQL
 SELECT * FROM GENERATE_SERIES(a, b)
 -- Oracle
 SELECT * FROM (SELECT a + LEVEL - 1 FROM DUAL CONNECT BY a + LEVEL - 1 <= b)
 
@Support(value={CUBRID,ORACLE,POSTGRES}) public static Table<Record1<Integer>> generateSeries(Field<Integer> from, Field<Integer> to)
from to
 to (inclusive).
 
 This function is inspired by PostgreSQL's
 GENERATE_SERIES(from, to) function. Other SQL dialects may
 be capable of emulating this behaviour, e.g. Oracle: 
 -- PostgreSQL
 SELECT * FROM GENERATE_SERIES(a, b)
 -- Oracle
 SELECT * FROM (SELECT a + LEVEL - 1 FROM DUAL CONNECT BY a + LEVEL - 1 <= b)
 
@Support(value={ORACLE12C,POSTGRES_9_3}) public static <R extends Record> Table<R> lateral(TableLike<R> table)
LATERAL joined table.
 
 Example:
 
 SELECT *
 FROM employees e,
      LATERAL(SELECT * FROM departments d
              WHERE e.department_id = d.department_id);
 
@Support(value=POSTGRES) public static Table<Record> rowsFrom(Table<?>... tables)
ROWS FROM (tables...) expression.
 
 Example: 
 SELECT *
 FROM ROWS FROM (function1('a', 'b'), function2('c', 'd'));
 
This allows for full outer joining several table-valued functions on the row number of each function's produced rows.
public static Keyword keyword(String keyword)
 A Keyword is a QueryPart that renders a SQL keyword
 according to the settings specified in
 Settings.getRenderKeywordStyle(). It can be embedded in other
 plain SQL QueryParts as shown in this example:
 
 
 Condition c = condition("{0} {1} {2} {3} {4}",
     value1, keyword("between")
     value2, keyword("and")
     value3
 );
 
public static QueryPart list(QueryPart... parts)
QueryParts into a new
 QueryPart, with individual parts being comma-separated.public static QueryPart list(Collection<? extends QueryPart> parts)
QueryParts into a new
 QueryPart, with individual parts being comma-separated.@Support(value={ASE,CUBRID,DB2,DERBY,H2,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static Field<Object> defaultValue()
DEFAULT keyword for use with INSERT,
 UPDATE, or MERGE statements.
 
 While the DEFAULT keyword works with all data types, you may
 still prefer to associate a Field type with your
 DEFAULT value. In that case, use
 defaultValue(Class) or defaultValue(DataType) instead.
@Support(value={ASE,CUBRID,DB2,DERBY,H2,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T> Field<T> defaultValue(Class<T> type)
DEFAULT keyword for use with INSERT,
 UPDATE, or MERGE statements.@Support(value={ASE,CUBRID,DB2,DERBY,H2,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T> Field<T> defaultValue(DataType<T> type)
DEFAULT keyword for use with INSERT,
 UPDATE, or MERGE statements.@Support(value={ASE,CUBRID,DB2,DERBY,H2,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T> Field<T> defaultValue(Field<T> field)
DEFAULT keyword for use with INSERT,
 UPDATE, or MERGE statements.public static Name name(String... qualifiedName)
 Use this method to construct syntax-safe, SQL-injection-safe SQL
 identifiers for use in plain SQL where QueryPart objects are
 accepted. For instance, this can be used with any of these methods:
 
field(String, QueryPart...)field(String, Class, QueryPart...)field(String, DataType, QueryPart...)
 An example: 
 // This qualified name here
 name("book", "title");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [book].[title]
 
qualifiedName - The SQL identifier's qualified name partsQueryPart that will render the SQL identifier@Deprecated @Support public static Schema schemaByName(String name)
schema(Name) instead
 This constructs a schema reference given the schema's qualified name.
 jOOQ will render the schema name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This schema...
 schemaByName("MY_SCHEMA");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA]
 
name - The schema's reference name.name@Support public static Catalog catalog(Name name)
 This constructs a catalog reference given the catalog's qualified name.
 jOOQ will render the catalog name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This catalog...
 catalog(name("MY_CATALOG"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_CATALOG]
 
@Support public static Schema schema(Name name)
 This constructs a schema reference given the schema's qualified name.
 jOOQ will render the schema name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This schema...
 schema(name("MY_CATALOG", "MY_SCHEMA"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_CATALOG].[MY_SCHEMA]
 
@Deprecated @Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static Sequence<BigInteger> sequenceByName(String... qualifiedName)
sequence(Name) instead
 This constructs a sequence reference given the sequence's qualified name.
 jOOQ will render the sequence name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This sequence...
 sequenceByName("MY_SCHEMA", "MY_SEQUENCE");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_SEQUENCE]
 
qualifiedName - The various parts making up your sequence's
            reference name.sequenceName@Deprecated @Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> Sequence<T> sequenceByName(Class<T> type, String... qualifiedName)
sequence(Name, Class) instead
 This constructs a sequence reference given the sequence's qualified name.
 jOOQ will render the sequence name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This sequence...
 sequenceByName("MY_SCHEMA", "MY_SEQUENCE");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_SEQUENCE]
 
qualifiedName - The various parts making up your sequence's
            reference name.type - The type of the returned fieldsequenceName@Deprecated @Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> Sequence<T> sequenceByName(DataType<T> type, String... qualifiedName)
sequence(Name, DataType) instead
 This constructs a sequence reference given the sequence's qualified name.
 jOOQ will render the sequence name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This sequence...
 sequenceByName("MY_SCHEMA", "MY_SEQUENCE");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_SEQUENCE]
 
qualifiedName - The various parts making up your sequence's
            reference name.type - The type of the returned fieldsequenceName@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static Sequence<BigInteger> sequence(Name name)
 This constructs a sequence reference given the sequence's qualified name.
 jOOQ will render the sequence name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This sequence...
 sequence(name("MY_SCHEMA", "MY_SEQUENCE"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_SEQUENCE]
 
@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> Sequence<T> sequence(Name name, Class<T> type)
 This constructs a sequence reference given the sequence's qualified name.
 jOOQ will render the sequence name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This sequence...
 sequence(name("MY_SCHEMA", "MY_SEQUENCE"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_SEQUENCE]
 
@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) public static <T extends Number> Sequence<T> sequence(Name name, DataType<T> type)
 This constructs a sequence reference given the sequence's qualified name.
 jOOQ will render the sequence name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This sequence...
 sequence(name("MY_SCHEMA", "MY_SEQUENCE"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_SEQUENCE]
 
@Deprecated @Support public static Table<Record> tableByName(String... qualifiedName)
table(Name) instead
 This constructs a table reference given the table's qualified name. jOOQ
 will render the table name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This table...
 tableByName("MY_SCHEMA", "MY_TABLE");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE]
 
qualifiedName - The various parts making up your table's reference
            name.tableName@Support public static Table<Record> table(Name name)
 This constructs a table reference given the table's qualified name. jOOQ
 will render the table name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This table...
 tableByName("MY_SCHEMA", "MY_TABLE");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE]
 
@Deprecated @Support public static Field<Object> fieldByName(String... qualifiedName)
field(Name) instead
 This constructs a field reference given the field's qualified name. jOOQ
 will render the field name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This field...
 fieldByName("MY_SCHEMA", "MY_TABLE", "MY_FIELD");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE].[MY_FIELD]
 
 Another example: 
 create.select(field("length({1})", Integer.class, fieldByName("TITLE")))
       .from(tableByName("T_BOOK"))
       .fetch();
 // ... will execute this SQL on SQL Server:
 select length([TITLE]) from [T_BOOK]
 
qualifiedName - The various parts making up your field's reference
            name.fieldName@Deprecated @Support public static <T> Field<T> fieldByName(Class<T> type, String... qualifiedName)
field(Name, Class) instead
 This constructs a field reference given the field's qualified name. jOOQ
 will render the field name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This field...
 fieldByName("MY_SCHEMA", "MY_TABLE", "MY_FIELD");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE].[MY_FIELD]
 
 Another example: 
 create.select(field("length({1})", Integer.class, fieldByName("TITLE")))
       .from(tableByName("T_BOOK"))
       .fetch();
 // ... will execute this SQL on SQL Server:
 select length([TITLE]) from [T_BOOK]
 
qualifiedName - The various parts making up your field's reference
            name.type - The type of the returned fieldfieldName@Deprecated @Support public static <T> Field<T> fieldByName(DataType<T> type, String... qualifiedName)
field(Name, DataType) instead
 This constructs a field reference given the field's qualified name. jOOQ
 will render the field name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This field...
 fieldByName("MY_SCHEMA", "MY_TABLE", "MY_FIELD");
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE].[MY_FIELD]
 
 Another example: 
 create.select(field("length({1})", Integer.class, fieldByName("TITLE")))
       .from(tableByName("T_BOOK"))
       .fetch();
 // ... will execute this SQL on SQL Server:
 select length([TITLE]) from [T_BOOK]
 
qualifiedName - The various parts making up your field's reference
            name.type - The type of the returned fieldfieldName@Support public static Field<Object> field(Name name)
 This constructs a field reference given the field's qualified name. jOOQ
 will render the field name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This field...
 field(name("MY_SCHEMA", "MY_TABLE", "MY_FIELD"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE].[MY_FIELD]
 
 Another example: 
 create.select(field("length({1})", Integer.class, field(name("TITLE"))))
       .from(table(name("T_BOOK")))
       .fetch();
 // ... will execute this SQL on SQL Server:
 select length([TITLE]) from [T_BOOK]
 
@Support public static <T> Field<T> field(Name name, Class<T> type)
 This constructs a field reference given the field's qualified name. jOOQ
 will render the field name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This field...
 field(name("MY_SCHEMA", "MY_TABLE", "MY_FIELD"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE].[MY_FIELD]
 
 Another example: 
 create.select(field("length({1})", Integer.class, field(name("TITLE"))))
       .from(table(name("T_BOOK")))
       .fetch();
 // ... will execute this SQL on SQL Server:
 select length([TITLE]) from [T_BOOK]
 
@Support public static <T> Field<T> field(Name name, DataType<T> type)
 This constructs a field reference given the field's qualified name. jOOQ
 will render the field name according to your
 Settings.getRenderNameStyle() settings. Choose
 RenderNameStyle.QUOTED to prevent syntax errors and/or SQL
 injection.
 
 Example: 
 // This field...
 field(name("MY_SCHEMA", "MY_TABLE", "MY_FIELD"));
 // ... will render this SQL on SQL Server with RenderNameStyle.QUOTED set
 [MY_SCHEMA].[MY_TABLE].[MY_FIELD]
 
 Another example: 
 create.select(field("length({1})", Integer.class, field(name("TITLE"))))
       .from(table(name("T_BOOK")))
       .fetch();
 // ... will execute this SQL on SQL Server:
 select length([TITLE]) from [T_BOOK]
 
@Support public static Queries queries(Collection<? extends Query> queries)
@Support(value=ORACLE) public static Link link(String name, Schema schema)
@Support @PlainSQL public static SQL sql(String sql)
 A plain SQL QueryPart is a QueryPart that can
 contain user-defined plain SQL, because sometimes it is easier to express
 things directly in SQL.
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static SQL sql(String sql, QueryPart... parts)
 A plain SQL QueryPart is a QueryPart that can
 contain user-defined plain SQL, because sometimes it is easier to express
 things directly in SQL.
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support @PlainSQL public static SQL sql(String sql, Object... bindings)
 A plain SQL QueryPart is a QueryPart that can
 contain user-defined plain SQL, because sometimes it is easier to express
 things directly in SQL. There must be as many binding variables contained
 in the SQL, as passed in the bindings parameter
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Deprecated @Support @PlainSQL public static QueryPart queryPart(String sql)
sql(String) instead
 A plain SQL QueryPart is a QueryPart that can
 contain user-defined plain SQL, because sometimes it is easier to express
 things directly in SQL.
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Deprecated @Support @PlainSQL public static QueryPart queryPart(String sql, QueryPart... parts)
sql(String, QueryPart...) instead
 A plain SQL QueryPart is a QueryPart that can
 contain user-defined plain SQL, because sometimes it is easier to express
 things directly in SQL.
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Deprecated @Support @PlainSQL public static QueryPart queryPart(String sql, Object... bindings)
sql(String, Object...) instead
 A plain SQL QueryPart is a QueryPart that can
 contain user-defined plain SQL, because sometimes it is easier to express
 things directly in SQL. There must be as many binding variables contained
 in the SQL, as passed in the bindings parameter
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Query query(SQL sql)
Example:
 
 String sql = "SET SCHEMA 'abc'";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Query query(String sql)
Example:
 
 String sql = "SET SCHEMA 'abc'";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Query query(String sql, Object... bindings)
Example:
 
 String sql = "SET SCHEMA 'abc'";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLbindings - The bindingsSQL@Support @PlainSQL public static Query query(String sql, QueryPart... parts)
 Unlike query(String, Object...), the SQL passed to this method
 should not contain any bind variables. Instead, you can pass
 QueryPart objects to the method which will be rendered at indexed
 locations of your SQL string as such: 
 // The following query
 query("select {0}, {1} from {2}", val(1), inline("test"), name("DUAL"));
 // Will render this SQL on an Oracle database with RenderNameStyle.QUOTED:
 select ?, 'test' from "DUAL"
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. You may also create the possibility of
 malicious SQL injection. Be sure to properly use bind variables and/or
 escape literals when concatenated into SQL clauses! One way to escape
 literals is to use name(String...) and similar methods
@Support @PlainSQL public static ResultQuery<Record> resultQuery(SQL sql)
There must not be any binding variables contained in the SQL
 Use this method, when you want to take advantage of the many ways to
 fetch results in jOOQ, using ResultQuery. Some examples:
 
| ResultQuery.fetchLazy() | Open a cursor and fetch records one by one | 
| ResultQuery.fetchInto(Class) | Fetch records into a custom POJO (optionally annotated with JPA annotations) | 
| ResultQuery.fetchInto(RecordHandler) | Fetch records into a custom callback (similar to Spring's RowMapper) | 
Example (Postgres):
 
 String sql = "FETCH ALL IN \"
 
 String sql = "pragma table_info('my_table')";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static ResultQuery<Record> resultQuery(String sql)
There must not be any binding variables contained in the SQL
 Use this method, when you want to take advantage of the many ways to
 fetch results in jOOQ, using ResultQuery. Some examples:
 
| ResultQuery.fetchLazy() | Open a cursor and fetch records one by one | 
| ResultQuery.fetchInto(Class) | Fetch records into a custom POJO (optionally annotated with JPA annotations) | 
| ResultQuery.fetchInto(RecordHandler) | Fetch records into a custom callback (similar to Spring's RowMapper) | 
Example (Postgres):
 
 String sql = "FETCH ALL IN \"
 
 String sql = "pragma table_info('my_table')";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static ResultQuery<Record> resultQuery(String sql, Object... bindings)
There must be as many bind variables contained in the SQL, as passed in the bindings parameter
 Use this method, when you want to take advantage of the many ways to
 fetch results in jOOQ, using ResultQuery. Some examples:
 
| ResultQuery.fetchLazy() | Open a cursor and fetch records one by one | 
| ResultQuery.fetchInto(Class) | Fetch records into a custom POJO (optionally annotated with JPA annotations) | 
| ResultQuery.fetchInto(RecordHandler) | Fetch records into a custom callback (similar to Spring's RowMapper) | 
Example (Postgres):
 
 String sql = "FETCH ALL IN \"
 
 String sql = "pragma table_info('my_table')";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLbindings - The bindingsSQL@Support @PlainSQL public static ResultQuery<Record> resultQuery(String sql, QueryPart... parts)
 Unlike resultQuery(String, Object...), the SQL passed to this
 method should not contain any bind variables. Instead, you can pass
 QueryPart objects to the method which will be rendered at indexed
 locations of your SQL string as such: 
 // The following query
 resultQuery("select {0}, {1} from {2}", val(1), inline("test"), name("DUAL"));
 // Will render this SQL on an Oracle database with RenderNameStyle.QUOTED:
 select ?, 'test' from "DUAL"
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. You may also create the possibility of
 malicious SQL injection. Be sure to properly use bind variables and/or
 escape literals when concatenated into SQL clauses! One way to escape
 literals is to use name(String...) and similar methods
@Support @PlainSQL public static Table<Record> table(SQL sql)
A plain SQL table is a table that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex, but static subqueries or tables from different schemas.
Example
 
 String sql = "SELECT * FROM USER_TABLES WHERE OWNER = 'MY_SCHEMA'";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Table<Record> table(String sql)
A plain SQL table is a table that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex, but static subqueries or tables from different schemas.
Example
 
 String sql = "SELECT * FROM USER_TABLES WHERE OWNER = 'MY_SCHEMA'";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Table<Record> table(String sql, Object... bindings)
A plain SQL table is a table that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex, but static subqueries or tables from different schemas. There must be as many binding variables contained in the SQL, as passed in the bindings parameter
Example
 
 String sql = "SELECT * FROM USER_TABLES WHERE OWNER = ?";
 Object[] bindings = new Object[] { "MY_SCHEMA" };
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Table<Record> table(String sql, QueryPart... parts)
A plain SQL table is a table that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex, but static subqueries or tables from different schemas.
Example
 
 String sql = "SELECT * FROM USER_TABLES WHERE {0}";
 QueryPart[] parts = new QueryPart[] { USER_TABLES.OWNER.equal("MY_SCHEMA") };
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) @PlainSQL public static Sequence<BigInteger> sequence(String sql)
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) @PlainSQL public static <T extends Number> Sequence<T> sequence(String sql, Class<T> type)
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typeSQL@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,ORACLE,POSTGRES,SQLSERVER2012,SYBASE}) @PlainSQL public static <T extends Number> Sequence<T> sequence(String sql, DataType<T> type)
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typeSQL@Support @PlainSQL public static Field<Object> field(SQL sql)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "DECODE(MY_FIELD, 1, 100, 200)";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Field<Object> field(String sql)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "DECODE(MY_FIELD, 1, 100, 200)";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Field<Object> field(String sql, Object... bindings)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must be as many binding variables contained in the SQL, as passed in the bindings parameter
Example:
 
 String sql = "DECODE(MY_FIELD, ?, ?, ?)";
 Object[] bindings = new Object[] { 1, 100, 200 };
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLbindings - The bindings for the fieldSQL@Support @PlainSQL public static <T> Field<T> field(SQL sql, Class<T> type)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "DECODE(MY_FIELD, 1, 100, 200)";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typeSQL@Support @PlainSQL public static <T> Field<T> field(String sql, Class<T> type)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "DECODE(MY_FIELD, 1, 100, 200)";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typeSQL@Support @PlainSQL public static <T> Field<T> field(String sql, Class<T> type, Object... bindings)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must be as many binding variables contained in the SQL, as passed in the bindings parameter
Example:
 
 String sql = "DECODE(MY_FIELD, ?, ?, ?)";
 Object[] bindings = new Object[] { 1, 100, 200 };
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typebindings - The bindings for the fieldSQL@Support @PlainSQL public static <T> Field<T> field(SQL sql, DataType<T> type)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "DECODE(MY_FIELD, 1, 100, 200)";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typeSQL@Support @PlainSQL public static <T> Field<T> field(String sql, DataType<T> type)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "DECODE(MY_FIELD, 1, 100, 200)";
 
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typeSQL@Support @PlainSQL public static <T> Field<T> field(String sql, DataType<T> type, Object... bindings)
A PlainSQLField is a field that can contain user-defined plain SQL, because sometimes it is easier to express things directly in SQL, for instance complex proprietary functions. There must be as many binding variables contained in the SQL, as passed in the bindings parameter
Example:
 
 String sql = "DECODE(MY_FIELD, ?, ?, ?)";
 Object[] bindings = new Object[] { 1, 100, 200 };
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLtype - The field typebindings - The bindings for the fieldSQL@Support @PlainSQL public static <T> Field<T> field(String sql, DataType<T> type, QueryPart... parts)
 This is useful for constructing more complex SQL syntax elements wherever
 Field types are expected. An example for this is MySQL's
 GROUP_CONCAT aggregate function, which has MySQL-specific
 keywords that are hard to reflect in jOOQ's DSL: 
 GROUP_CONCAT([DISTINCT] expr [,expr ...]
       [ORDER BY {unsigned_integer | col_name | expr}
           [ASC | DESC] [,col_name ...]]
       [SEPARATOR str_val])
       
 The above MySQL function can be expressed as such: 
 field("GROUP_CONCAT(DISTINCT {0} ORDER BY {1} ASC SEPARATOR '-')", expr1, expr2);
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. You may also create the possibility of
 malicious SQL injection. Be sure to properly use bind variables and/or
 escape literals when concatenated into SQL clauses! One way to escape
 literals is to use name(String...) and similar methods
@Support @PlainSQL public static Field<Object> field(String sql, QueryPart... parts)
 This is useful for constructing more complex SQL syntax elements wherever
 Field types are expected. An example for this is MySQL's
 GROUP_CONCAT aggregate function, which has MySQL-specific
 keywords that are hard to reflect in jOOQ's DSL: 
 GROUP_CONCAT([DISTINCT] expr [,expr ...]
       [ORDER BY {unsigned_integer | col_name | expr}
           [ASC | DESC] [,col_name ...]]
       [SEPARATOR str_val])
       
 The above MySQL function can be expressed as such: 
 field("GROUP_CONCAT(DISTINCT {0} ORDER BY {1} ASC SEPARATOR '-')", expr1, expr2);
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. You may also create the possibility of
 malicious SQL injection. Be sure to properly use bind variables and/or
 escape literals when concatenated into SQL clauses! One way to escape
 literals is to use name(String...) and similar methods
@Support @PlainSQL public static <T> Field<T> field(String sql, Class<T> type, QueryPart... parts)
 This is useful for constructing more complex SQL syntax elements wherever
 Field types are expected. An example for this is MySQL's
 GROUP_CONCAT aggregate function, which has MySQL-specific
 keywords that are hard to reflect in jOOQ's DSL: 
 GROUP_CONCAT([DISTINCT] expr [,expr ...]
       [ORDER BY {unsigned_integer | col_name | expr}
           [ASC | DESC] [,col_name ...]]
       [SEPARATOR str_val])
       
 The above MySQL function can be expressed as such: 
 field("GROUP_CONCAT(DISTINCT {0} ORDER BY {1} ASC SEPARATOR '-')", expr1, expr2);
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. You may also create the possibility of
 malicious SQL injection. Be sure to properly use bind variables and/or
 escape literals when concatenated into SQL clauses! One way to escape
 literals is to use name(String...) and similar methods
@Support @PlainSQL public static <T> Field<T> function(String name, Class<T> type, Field<?>... arguments)
function() can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ.
 NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
name - The function name (without parentheses)type - The function return typearguments - The function argumentsSQL@Support @PlainSQL public static <T> Field<T> function(String name, DataType<T> type, Field<?>... arguments)
function() can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ.
 NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
name - The function name (without parentheses)type - The function return typearguments - The function argumentsSQL@Support public static <T> Field<T> function(Name name, Class<T> type, Field<?>... arguments)
function() can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ.name - The function name (possibly qualified)type - The function return typearguments - The function arguments@Support public static <T> Field<T> function(Name name, DataType<T> type, Field<?>... arguments)
function() can be used to access native or user-defined
 functions that are not yet or insufficiently supported by jOOQ.name - The function name (possibly qualified)type - The function return typearguments - The function arguments@Support @PlainSQL public static Condition condition(SQL sql)
There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "(X = 1 and Y = 2)";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Condition condition(String sql)
There must not be any binding variables contained in the SQL.
Example:
 
 String sql = "(X = 1 and Y = 2)";
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLSQL@Support @PlainSQL public static Condition condition(String sql, Object... bindings)
There must be as many binding variables contained in the SQL, as passed in the bindings parameter
Example:
 
 String sql = "(X = ? and Y = ?)";
 Object[] bindings = new Object[] { 1, 2 };
NOTE: When inserting plain SQL into jOOQ objects, you must guarantee syntax integrity. You may also create the possibility of malicious SQL injection. Be sure to properly use bind variables and/or escape literals when concatenated into SQL clauses!
sql - The SQLbindings - The bindingsSQL@Support @PlainSQL public static Condition condition(String sql, QueryPart... parts)
 This is useful for constructing more complex SQL syntax elements wherever
 Condition types are expected. An example for this are
 Postgres's various operators, some of which are missing in the jOOQ API.
 For instance, the "overlap" operator for arrays:
 ARRAY[1,4,3] && ARRAY[2,1]
 The above Postgres operator can be expressed as such: 
 condition("{0} && {1}", array1, array2);
 
 NOTE: When inserting plain SQL into jOOQ objects, you must
 guarantee syntax integrity. You may also create the possibility of
 malicious SQL injection. Be sure to properly use bind variables and/or
 escape literals when concatenated into SQL clauses! One way to escape
 literals is to use name(String...) and similar methods
@Support public static Condition condition(Boolean value)
Databases that support boolean data types can use boolean expressions as predicates or as columns interchangeably. This extends to any type of field, including functions. A Postgres example:
 
 select 1 where texteq('a', 'a');
 
value - The boolean expression.@Support public static Condition condition(Field<Boolean> field)
Databases that support boolean data types can use boolean expressions as predicates or as columns interchangeably. This extends to any type of field, including functions. A Postgres example:
 
 select 1 where texteq('a', 'a');
 
field - The boolean expression.@Support public static Condition condition(Map<Field<?>,?> map)
 The result is a condition generated from keys and values of the argument map, such that:
 
 key1 = value1 AND key2 = value2 AND ... AND keyN = valueN
 
map - A map containing keys and values to form predicates.@Support public static Condition condition(Record record)
Condition from a Record
 .
 
 This will take all the non-null values in the argument
 record to form a predicate from them. If all values in the
 record are null, the predicate will be the
 trueCondition().
record - The record from which to create a condition.@Support public static Condition trueCondition()
Condition that will always evaluate to true.@Support public static Condition falseCondition()
Condition that will always evaluate to false.@Support public static Condition and(Collection<? extends Condition> conditions)
@Support public static Condition or(Collection<? extends Condition> conditions)
@Support public static Condition condition(Operator operator, Condition... conditions)
Condition that connects all argument
 conditions with Operator.@Support public static Condition condition(Operator operator, Collection<? extends Condition> conditions)
Condition that connects all argument
 conditions with Operator.@Support public static Condition exists(Select<?> query)
 EXISTS ([query])
@Support public static Condition notExists(Select<?> query)
 NOT EXISTS ([query])
@Support public static Condition not(Condition condition)
 This is the same as calling Condition.not()
@Deprecated @Support public static Field<Boolean> not(Boolean value)
not(Condition) instead. Due
             to ambiguity between calling this method using
             Field.equals(Object) argument, vs. calling the other
             method via a Field.equal(Object) argument, this
             method will be removed in the future.
 This is convenience for calling field(Condition),
 not(Condition), condition(Field), i.e. 
 field(not(condition(field)));
 
@Support public static Field<Boolean> not(Field<Boolean> field)
 This is convenience for calling field(Condition),
 not(Condition), condition(Field), i.e. 
 field(not(condition(field)));
 
@Support public static Field<Boolean> field(Condition condition)
@Support public static <T> Field<T> field(SelectField<T> field)
SelectField in a general-purpose Field@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1> Field<Record1<T1>> rowField(Row1<T1> row)
1 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2> Field<Record2<T1,T2>> rowField(Row2<T1,T2> row)
2 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3> Field<Record3<T1,T2,T3>> rowField(Row3<T1,T2,T3> row)
3 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4> Field<Record4<T1,T2,T3,T4>> rowField(Row4<T1,T2,T3,T4> row)
4 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5> Field<Record5<T1,T2,T3,T4,T5>> rowField(Row5<T1,T2,T3,T4,T5> row)
5 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6> Field<Record6<T1,T2,T3,T4,T5,T6>> rowField(Row6<T1,T2,T3,T4,T5,T6> row)
6 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7> Field<Record7<T1,T2,T3,T4,T5,T6,T7>> rowField(Row7<T1,T2,T3,T4,T5,T6,T7> row)
7 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8> Field<Record8<T1,T2,T3,T4,T5,T6,T7,T8>> rowField(Row8<T1,T2,T3,T4,T5,T6,T7,T8> row)
8 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> Field<Record9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> rowField(Row9<T1,T2,T3,T4,T5,T6,T7,T8,T9> row)
9 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> Field<Record10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> rowField(Row10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> row)
10 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> Field<Record11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> rowField(Row11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> row)
11 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> Field<Record12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> rowField(Row12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> row)
12 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> Field<Record13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> rowField(Row13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> row)
13 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> Field<Record14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> rowField(Row14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> row)
14 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> Field<Record15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> rowField(Row15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> row)
15 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> Field<Record16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> rowField(Row16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> row)
16 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> Field<Record17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>> rowField(Row17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> row)
17 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> Field<Record18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>> rowField(Row18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> row)
18 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> Field<Record19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>> rowField(Row19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> row)
19 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> Field<Record20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>> rowField(Row20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> row)
20 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> Field<Record21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>> rowField(Row21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> row)
21 into a Field.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> Field<Record22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>> rowField(Row22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> row)
22 into a Field.
 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.
@Support public static <T> Field<T> field(Select<? extends Record1<T>> select)
@Support public static Case choose()
Case statement.
 Choose is used as a method name to avoid name clashes with Java's reserved literal "case"
Case@Support public static <V> CaseValueStep<V> choose(V value)
Case statement.
 
 This API can be used to create expressions of the type 
 CASE value WHEN 1 THEN 'one'
            WHEN 2 THEN 'two'
            ELSE        'three'
 END
 
Choose is used as a method name to avoid name clashes with Java's reserved literal "case".
Case@Support public static <V> CaseValueStep<V> choose(Field<V> value)
Case statement.
 
 This API can be used to create expressions of the type 
 CASE value WHEN 1 THEN 'one'
            WHEN 2 THEN 'two'
            ELSE        'three'
 END
 
Choose is used as a method name to avoid name clashes with Java's reserved literal "case".
Case@Support public static <T> CaseConditionStep<T> when(Condition condition, T result)
Case statement.
 
 This API can be used to create expressions of the type 
 CASE WHEN x < 1  THEN 'one'
      WHEN x >= 2 THEN 'two'
      ELSE            'three'
 END
 
Choose is used as a method name to avoid name clashes with Java's reserved literal "case".
@Support public static <T> CaseConditionStep<T> when(Condition condition, Field<T> result)
Case statement.
 
 This API can be used to create expressions of the type 
 CASE WHEN x < 1  THEN 'one'
      WHEN x >= 2 THEN 'two'
      ELSE            'three'
 END
 
Choose is used as a method name to avoid name clashes with Java's reserved literal "case".
@Support public static <T> CaseConditionStep<T> when(Condition condition, Select<? extends Record1<T>> result)
Case statement.
 
 This API can be used to create expressions of the type 
 CASE WHEN x < 1  THEN 'one'
      WHEN x >= 2 THEN 'two'
      ELSE            'three'
 END
 
Choose is used as a method name to avoid name clashes with Java's reserved literal "case".
@Support public static Case decode()
Case statement.
 Decode is used as a method name to avoid name clashes with Java's reserved literal "case"
Case@Support public static <Z,T> Field<Z> decode(T value, T search, Z result)
DECODE(expression, search, result[, search , result]... [, default])
 function.decode(Field, Field, Field, Field[])@Support public static <Z,T> Field<Z> decode(T value, T search, Z result, Object... more)
DECODE(expression, search, result[, search , result]... [, default])
 function.decode(Field, Field, Field, Field[])@Support public static <Z,T> Field<Z> decode(Field<T> value, Field<T> search, Field<Z> result)
DECODE(expression, search, result[, search , result]... [, default])
 function.decode(Field, Field, Field, Field[])@Support public static <Z,T> Field<Z> decode(Field<T> value, Field<T> search, Field<Z> result, Field<?>... more)
DECODE(expression, search, result[, search , result]... [, default])
 function.
 Returns the dialect's equivalent to DECODE:
 Other dialects: 
 CASE WHEN [this IS NOT DISTINCT FROM search] THEN [result],
     [WHEN more...                            THEN more...]
     [ELSE more...]
 END
 
 Note the use of the DISTINCT predicate to produce the same,
 conveniently NULL-agnostic behaviour as Oracle.
value - The value to decodesearch - the mandatory first search parameterresult - the mandatory first result candidate parametermore - the optional parameters. If more.length is even,
            then it is assumed that it contains more search/result pairs.
            If more.length is odd, then it is assumed that it
            contains more search/result pairs plus a default at the end.@Support public static <T> Field<T> coerce(Object value, Field<T> as)
coerce(Field, Field)@Support public static <T> Field<T> coerce(Object value, Class<T> as)
coerce(Field, Class)@Support public static <T> Field<T> coerce(Object value, DataType<T> as)
coerce(Field, DataType)@Support public static <T> Field<T> coerce(Field<?> field, Field<T> as)
 Unlike with casting, coercing doesn't affect the way the database sees a
 Field's type. This is how coercing affects your SQL:
 
 // This binds an int value to a JDBC PreparedStatement
 DSL.val(1).coerce(String.class);
 // This binds an int value to a JDBC PreparedStatement
 // and casts it to VARCHAR in SQL
 DSL.val(1).cast(String.class);
 
 // This fetches a String value for the BOOK.ID field from JDBC
 BOOK.ID.coerce(String.class);
 // This fetches a String value for the BOOK.ID field from JDBC
 // after casting it to VARCHAR in the database
 BOOK.ID.cast(String.class);
 
T - The generic type of the coerced fieldfield - The field to be coercedas - The field whose type is used for the coercionField.coerce(DataType), 
Field.cast(Field)@Support public static <T> Field<T> coerce(Field<?> field, Class<T> as)
 Unlike with casting, coercing doesn't affect the way the database sees a
 Field's type. This is how coercing affects your SQL:
 
 // This binds an int value to a JDBC PreparedStatement
 DSL.val(1).coerce(String.class);
 // This binds an int value to a JDBC PreparedStatement
 // and casts it to VARCHAR in SQL
 DSL.val(1).cast(String.class);
 
 // This fetches a String value for the BOOK.ID field from JDBC
 BOOK.ID.coerce(String.class);
 // This fetches a String value for the BOOK.ID field from JDBC
 // after casting it to VARCHAR in the database
 BOOK.ID.cast(String.class);
 
T - The generic type of the coerced fieldfield - The field to be coercedas - The type that is used for the coercionField.coerce(DataType), 
Field.cast(Class)@Support public static <T> Field<T> coerce(Field<?> field, DataType<T> as)
 Unlike with casting, coercing doesn't affect the way the database sees a
 Field's type. This is how coercing affects your SQL:
 
 // This binds an int value to a JDBC PreparedStatement
 DSL.val(1).coerce(String.class);
 // This binds an int value to a JDBC PreparedStatement
 // and casts it to VARCHAR in SQL
 DSL.val(1).cast(String.class);
 
 // This fetches a String value for the BOOK.ID field from JDBC
 BOOK.ID.coerce(String.class);
 // This fetches a String value for the BOOK.ID field from JDBC
 // after casting it to VARCHAR in the database
 BOOK.ID.cast(String.class);
 
T - The generic type of the coerced fieldfield - The field to be coercedas - The type that is used for the coercionField.coerce(DataType), 
Field.cast(DataType)@Support public static <T> Field<T> cast(Object value, Field<T> as)
T - The generic type of the cast fieldvalue - The value to castas - The field whose type is used for the cast@Support public static <T> Field<T> cast(Field<?> field, Field<T> as)
T - The generic type of the cast fieldfield - The field to castas - The field whose type is used for the cast@Support public static <T> Field<T> castNull(Field<T> as)
T - The generic type of the cast fieldas - The field whose type is used for the cast@Support public static <T> Field<T> cast(Object value, Class<T> type)
T - The generic type of the cast fieldvalue - The value to casttype - The type that is used for the cast@Support public static <T> Field<T> cast(Field<?> field, Class<T> type)
T - The generic type of the cast fieldfield - The field to casttype - The type that is used for the cast@Support public static <T> Field<T> castNull(DataType<T> type)
T - The generic type of the cast fieldtype - The type that is used for the cast@Support public static <T> Field<T> cast(Object value, DataType<T> type)
T - The generic type of the cast fieldvalue - The value to casttype - The type that is used for the cast@Support public static <T> Field<T> cast(Field<?> field, DataType<T> type)
T - The generic type of the cast fieldfield - The value to casttype - The type that is used for the cast@Support public static <T> Field<T> castNull(Class<T> type)
T - The generic type of the cast fieldtype - The type that is used for the cast@Support public static <T> Field<T> coalesce(T value, T... values)
COALESCE(value1, value2, ... , value n) function.coalesce(Field, Field...)@Support public static <T> Field<T> coalesce(Field<T> field, T value)
COALESCE(field, value) function.coalesce(Field, Field...)@Support public static <T> Field<T> coalesce(Field<T> field, Field<?>... fields)
COALESCE(field1, field2, ... , field n) function.@Support public static <T> Field<T> isnull(T value, T defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> isnull(T value, Field<T> defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> isnull(Field<T> value, T defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> isnull(Field<T> value, Field<T> defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> nvl(T value, T defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> nvl(T value, Field<T> defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> nvl(Field<T> value, T defaultValue)
nvl(Field, Field)@Support public static <T> Field<T> ifnull(T value, T defaultValue)
IFNULL() function, a synonym of NVL().nvl(Field, Field)@Support public static <T> Field<T> ifnull(T value, Field<T> defaultValue)
IFNULL() function, a synonym of NVL().nvl(Field, Field)@Support public static <T> Field<T> ifnull(Field<T> value, T defaultValue)
IFNULL() function, a synonym of NVL().nvl(Field, Object)@Support public static <T> Field<T> ifnull(Field<T> value, Field<T> defaultValue)
IFNULL() function, a synonym of NVL().nvl(Field, Field)@Support public static <Z> Field<Z> nvl2(Field<?> value, Z valueIfNotNull, Z valueIfNull)
nvl2(Field, Field, Field)@Support public static <Z> Field<Z> nvl2(Field<?> value, Z valueIfNotNull, Field<Z> valueIfNull)
nvl2(Field, Field, Field)@Support public static <Z> Field<Z> nvl2(Field<?> value, Field<Z> valueIfNotNull, Z valueIfNull)
nvl2(Field, Field, Field)@Support public static <Z> Field<Z> nvl2(Field<?> value, Field<Z> valueIfNotNull, Field<Z> valueIfNull)
Returns the dialect's equivalent to NVL2:
 Other dialects:
 CASE WHEN [value] IS NULL THEN [valueIfNull] ELSE [valueIfNotNull] END
@Support public static <T> Field<T> nullif(T value, T other)
nullif(Field, Field)@Support public static <T> Field<T> nullif(T value, Field<T> other)
nullif(Field, Field)@Support public static <T> Field<T> nullif(Field<T> value, T other)
nullif(Field, Field)@Support public static <T> Field<T> nullif(Field<T> value, Field<T> other)
Returns the dialect's equivalent to NULLIF:
@Support public static Field<String> upper(String value)
upper(Field)@Support public static Field<String> upper(Field<String> field)
 This renders the upper function in all dialects:
 upper([field])
@Support public static Field<String> lower(String value)
lower(Field)@Support public static Field<String> lower(Field<String> field)
 This renders the lower function in all dialects:
 lower([field])
@Support public static Field<String> trim(String value)
trim(Field)@Support public static Field<String> trim(Field<String> field)
 This renders the trim function where available:
 trim([field])
ltrim(rtrim([field]))
@Support public static Field<String> rtrim(String value)
rtrim(Field)@Support public static Field<String> rtrim(Field<String> field)
 This renders the rtrim function in all dialects:
 rtrim([field])
@Support public static Field<String> ltrim(String value)
ltrim(Field)@Support public static Field<String> ltrim(Field<String> field)
 This renders the ltrim function in all dialects:
 ltrim([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> rpad(Field<String> field, int length)
rpad(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> rpad(Field<String> field, Field<? extends Number> length)
 This renders the rpad function where available:
 rpad([field], [length])
concat([field], repeat(' ', [length] - length([field])))
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> rpad(Field<String> field, int length, char character)
rpad(Field, Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> rpad(Field<String> field, int length, String character)
rpad(Field, Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> rpad(Field<String> field, Field<? extends Number> length, Field<String> character)
 This renders the rpad function where available:
 rpad([field], [length])
concat([field], repeat([character], [length] - length([field])))
 In SQLDialect.SQLITE, this is emulated as such:
 [field] || replace(replace(substr(quote(zeroblob(([length] + 1) / 2)), 3, ([length] - length([field]))), '\''', ''), '0', [character])
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> lpad(Field<String> field, int length)
lpad(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> lpad(Field<String> field, Field<? extends Number> length)
 This renders the lpad function where available:
 lpad([field], [length])
concat(repeat(' ', [length] - length([field])), [field])
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> lpad(Field<String> field, int length, char character)
lpad(Field, Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> lpad(Field<String> field, int length, String character)
lpad(Field, Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> lpad(Field<String> field, Field<? extends Number> length, Field<String> character)
 This renders the lpad function where available:
 lpad([field], [length])
concat(repeat([character], [length] - length([field])), [field])
 In SQLDialect.SQLITE, this is emulated as such:
 replace(replace(substr(quote(zeroblob(([length] + 1) / 2)), 3, ([length] - length([field]))), '\''', ''), '0', [character]) || [field]
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> repeat(String field, int count)
repeat(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> repeat(String field, Field<? extends Number> count)
repeat(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> repeat(Field<String> field, int count)
repeat(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> repeat(Field<String> field, Field<? extends Number> count)
 This renders the repeat or replicate function where available:
 repeat([field], [count]) or
 replicate([field], [count])
rpad([field], length([field]) * [count], [field])
 In SQLDialect.SQLITE, this is emulated as such:
 replace(substr(quote(zeroblob(([count] + 1) / 2)), 3, [count]), '0', [field])
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> space(int value)
SPACE() function.
 
 This function can be emulated using repeat(String, int) in
 dialects that do not ship with a native SPACE() function.
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<String> space(Field<Integer> value)
SPACE() function.
 
 This function can be emulated using repeat(String, int) in
 dialects that do not ship with a native SPACE() function.
@Support(value={ASE,CUBRID,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER}) public static Field<String> reverse(String value)
reverse(field) function.@Support(value={ASE,CUBRID,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER}) public static Field<String> reverse(Field<String> field)
reverse(field) function.@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static String escape(String value, char escape)
replace(Field, String, String) to escape
 data for use with Field.like(Field, char).
 
 Essentially, this escapes % and _ characters
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static Field<String> escape(Field<String> field, char escape)
replace(Field, String, String) to escape
 data for use with Field.like(Field, char).
 
 Essentially, this escapes % and _ characters
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static Field<String> replace(Field<String> field, String search)
replace(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static Field<String> replace(Field<String> field, Field<String> search)
 This renders the replace or str_replace function where available:
 replace([field], [search]) or
 str_replace([field], [search])
replace([field], [search], '')
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static Field<String> replace(Field<String> field, String search, String replace)
replace(Field, Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static Field<String> replace(Field<String> field, Field<String> search, Field<String> replace)
 This renders the replace or str_replace function:
 replace([field], [search]) or
 str_replace([field], [search])
@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Integer> position(String in, String search)
position(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Integer> position(String in, Field<String> search)
position(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Integer> position(Field<String> in, String search)
position(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Integer> position(Field<String> in, Field<String> search)
 This renders the position or any equivalent function:
 position([search] in [in]) or
 locate([in], [search]) or
 locate([search], [in]) or
 instr([in], [search]) or
 charindex([search], [in])
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static Field<Integer> ascii(String field)
ascii(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static Field<Integer> ascii(Field<String> field)
 This renders the ascii function:
 ascii([field])
@Support public static Field<String> concat(Field<String> field, String value)
concat(field, value) function.concat(Field...)@Support public static Field<String> concat(String value, Field<String> field)
concat(value, field) function.concat(Field...)@Support public static Field<String> concat(String... values)
concat(Field...)@Support public static Field<String> concat(Field<?>... fields)
 This creates fields[0] || fields[1] || ... as an
 expression, or concat(fields[0], fields[1], ...),
 depending on the dialect.
 
 If any of the given fields is not a String field, they are cast
 to Field<String> first using cast(Object, Class)
@Support public static Field<String> substring(Field<String> field, int startingPosition)
substring(Field, Field)@Support public static Field<String> substring(Field<String> field, Field<? extends Number> startingPosition)
 This renders the substr or substring function:
 substr([field], [startingPosition]) or
 substring([field], [startingPosition])
@Support public static Field<String> substring(Field<String> field, int startingPosition, int length)
substring(Field, Field, Field)@Support public static Field<String> substring(Field<String> field, Field<? extends Number> startingPosition, Field<? extends Number> length)
 This renders the substr or substring function:
 substr([field], [startingPosition], [length]) or
 substring([field], [startingPosition], [length])
@Support public static Field<String> mid(Field<String> field, int startingPosition, int length)
substring(Field, Field, Field)@Support public static Field<String> mid(Field<String> field, Field<? extends Number> startingPosition, Field<? extends Number> length)
 This renders the substr or substring function:
 substr([field], [startingPosition], [length]) or
 substring([field], [startingPosition], [length])
@Support public static Field<String> left(String field, int length)
 Example:
 
 'abc' = LEFT('abcde', 3)
 
@Support public static Field<String> left(String field, Field<? extends Number> length)
 Example:
 
 'abc' = LEFT('abcde', 3)
 
@Support public static Field<String> left(Field<String> field, int length)
 Example:
 
 'abc' = LEFT('abcde', 3)
 
@Support public static Field<String> left(Field<String> field, Field<? extends Number> length)
 Example:
 
 'abc' = LEFT('abcde', 3)
 
@Support public static Field<String> right(String field, int length)
 Example:
 
 'cde' = RIGHT('abcde', 3)
 
@Support public static Field<String> right(String field, Field<? extends Number> length)
 Example:
 
 'cde' = RIGHT('abcde', 3)
 
@Support public static Field<String> right(Field<String> field, int length)
 Example:
 
 'cde' = RIGHT('abcde', 3)
 
@Support public static Field<String> right(Field<String> field, Field<? extends Number> length)
 Example:
 
 'cde' = RIGHT('abcde', 3)
 
@Support public static Field<Integer> length(String value)
VARCHAR type. This is a synonym for
 charLength(String).charLength(String)@Support public static Field<Integer> length(Field<String> field)
VARCHAR type. This is a synonym for
 charLength(Field).charLength(Field)@Support public static Field<Integer> charLength(String value)
This translates into any dialect
@Support public static Field<Integer> charLength(Field<String> field)
This translates into any dialect
@Support public static Field<Integer> bitLength(String value)
This translates into any dialect
@Support public static Field<Integer> bitLength(Field<String> field)
This translates into any dialect
@Support public static Field<Integer> octetLength(String value)
This translates into any dialect
@Support public static Field<Integer> octetLength(Field<String> field)
This translates into any dialect
@Support(value={MARIADB,MYSQL,ORACLE}) public static Field<String> md5(String string)
MD5() function.
 These are the implementations for various databases:
| Database | Implementation | 
|---|---|
| MySQL | MD5( ... ) | 
| Oracle | LOWER(RAWTOHEX(SYS.DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW( ... ), SYS.DBMS_CRYPTO.HASH_MD5))) | 
@Support(value={MARIADB,MYSQL,ORACLE}) public static Field<String> md5(Field<String> string)
MD5() function.
 These are the implementations for various databases:
| Database | Implementation | 
|---|---|
| MySQL | MD5( ... ) | 
| Oracle | LOWER(RAWTOHEX(SYS.DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW( ... ), SYS.DBMS_CRYPTO.HASH_MD5))) | 
@Support public static Field<Date> currentDate()
This translates into any dialect
@Support public static Field<Time> currentTime()
This translates into any dialect
@Support public static Field<Timestamp> currentTimestamp()
This translates into any dialect
@Support public static Field<Integer> dateDiff(Date date1, Date date2)
This translates into any dialect
Field.sub(Field)@Support public static Field<Integer> dateDiff(Field<Date> date1, Date date2)
This translates into any dialect
Field.sub(Field)@Support public static Field<Date> dateAdd(Date date, Number interval)
This translates into any dialect
Field.add(Number)@Support public static Field<Date> dateAdd(Field<Date> date, Field<? extends Number> interval)
This translates into any dialect
Field.add(Field)@Support public static Field<Date> dateAdd(Date date, Number interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateAdd(Date date, Field<? extends Number> interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateAdd(Field<Date> date, Number interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateAdd(Field<Date> date, Field<? extends Number> interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateSub(Date date, Number interval)
This translates into any dialect
Field.add(Number)@Support public static Field<Date> dateSub(Field<Date> date, Field<? extends Number> interval)
This translates into any dialect
Field.add(Field)@Support public static Field<Date> dateSub(Date date, Number interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateSub(Date date, Field<? extends Number> interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateSub(Field<Date> date, Number interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Date> dateSub(Field<Date> date, Field<? extends Number> interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Integer> dateDiff(Date date1, Field<Date> date2)
This translates into any dialect
Field.sub(Field)@Support public static Field<Integer> dateDiff(Field<Date> date1, Field<Date> date2)
This translates into any dialect
Field.sub(Field)@Support public static Field<Timestamp> timestampAdd(Timestamp timestamp, Number interval)
This translates into any dialect
Field.add(Number)@Support public static Field<Timestamp> timestampAdd(Field<Timestamp> timestamp, Field<? extends Number> interval)
This translates into any dialect
Field.add(Field)@Support public static Field<Timestamp> timestampAdd(Timestamp date, Number interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Timestamp> timestampAdd(Timestamp date, Field<? extends Number> interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Timestamp> timestampAdd(Field<Timestamp> date, Number interval, DatePart datePart)
This translates into any dialect
@Support public static Field<Timestamp> timestampAdd(Field<Timestamp> date, Field<? extends Number> interval, DatePart datePart)
This translates into any dialect
@Support public static Field<DayToSecond> timestampDiff(Timestamp timestamp1, Timestamp timestamp2)
INTERVAL DAY TO SECOND
 type.
 This translates into any dialect
Field.sub(Field)@Support public static Field<DayToSecond> timestampDiff(Field<Timestamp> timestamp1, Timestamp timestamp2)
INTERVAL DAY TO SECOND
 type.
 This translates into any dialect
Field.sub(Field)@Support public static Field<DayToSecond> timestampDiff(Timestamp timestamp1, Field<Timestamp> timestamp2)
INTERVAL DAY TO SECOND
 type.
 This translates into any dialect
Field.sub(Field)@Support public static Field<DayToSecond> timestampDiff(Field<Timestamp> timestamp1, Field<Timestamp> timestamp2)
INTERVAL DAY TO SECOND
 type.
 This translates into any dialect
Field.sub(Field)@Support(value={CUBRID,DB2,H2,HSQLDB,INFORMIX,ORACLE,POSTGRES,VERTICA}) public static Field<Date> trunc(Date date)
@Support(value={CUBRID,DB2,H2,HSQLDB,INFORMIX,ORACLE,POSTGRES,VERTICA}) public static Field<Date> trunc(Date date, DatePart part)
@Support(value={CUBRID,DB2,H2,HSQLDB,INFORMIX,ORACLE,POSTGRES,VERTICA}) public static Field<Timestamp> trunc(Timestamp timestamp)
@Support(value={CUBRID,DB2,H2,HSQLDB,INFORMIX,ORACLE,POSTGRES,VERTICA}) public static Field<Timestamp> trunc(Timestamp timestamp, DatePart part)
@Support(value={CUBRID,DB2,H2,HSQLDB,INFORMIX,ORACLE,POSTGRES,VERTICA}) public static <T extends Date> Field<T> trunc(Field<T> date)
@Support(value={CUBRID,DB2,H2,HSQLDB,INFORMIX,ORACLE,POSTGRES,VERTICA}) public static <T extends Date> Field<T> trunc(Field<T> date, DatePart part)
@Support public static Field<Integer> extract(Date value, DatePart datePart)
This translates into any dialect
@Support public static Field<Integer> extract(Field<? extends Date> field, DatePart datePart)
This translates into any dialect
@Support public static Field<Integer> year(Date value)
 This is the same as calling extract(java.util.Date, DatePart)
 with DatePart.YEAR
@Support public static Field<Integer> year(Field<? extends Date> field)
 This is the same as calling extract(Field, DatePart)
 with DatePart.YEAR
@Support public static Field<Integer> month(Date value)
 This is the same as calling extract(java.util.Date, DatePart)
 with DatePart.MONTH
@Support public static Field<Integer> month(Field<? extends Date> field)
 This is the same as calling extract(Field, DatePart)
 with DatePart.MONTH
@Support public static Field<Integer> day(Date value)
 This is the same as calling extract(java.util.Date, DatePart)
 with DatePart.DAY
@Support public static Field<Integer> day(Field<? extends Date> field)
 This is the same as calling extract(Field, DatePart)
 with DatePart.DAY
@Support public static Field<Integer> hour(Date value)
 This is the same as calling extract(java.util.Date, DatePart)
 with DatePart.HOUR
@Support public static Field<Integer> hour(Field<? extends Date> field)
 This is the same as calling extract(Field, DatePart)
 with DatePart.HOUR
@Support public static Field<Integer> minute(Date value)
 This is the same as calling extract(java.util.Date, DatePart)
 with DatePart.MINUTE
@Support public static Field<Integer> minute(Field<? extends Date> field)
 This is the same as calling extract(Field, DatePart)
 with DatePart.MINUTE
@Support public static Field<Integer> second(Date value)
 This is the same as calling extract(java.util.Date, DatePart)
 with DatePart.SECOND
@Support public static Field<Integer> second(Field<? extends Date> field)
 This is the same as calling extract(Field, DatePart)
 with DatePart.SECOND
@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Date> date(String value)
DATE.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Date> date(Date value)
DATE.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Date> date(Field<? extends Date> field)
DATE.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Time> time(String value)
TIME.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Time> time(Date value)
TIME.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Time> time(Field<? extends Date> field)
TIME.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Timestamp> timestamp(String value)
TIMESTAMP.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Timestamp> timestamp(Date value)
TIMESTAMP.@Support(value={ACCESS,ASE,CUBRID,DB2,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<Timestamp> timestamp(Field<? extends Date> field)
TIMESTAMP.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Date> toDate(String value, String format)
DATE.value - The formatted DATE value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Date> toDate(String value, Field<String> format)
DATE.value - The formatted DATE value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Date> toDate(Field<String> value, String format)
DATE.value - The formatted DATE value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Date> toDate(Field<String> value, Field<String> format)
DATE.value - The formatted DATE value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Timestamp> toTimestamp(String value, String format)
TIMESTAMP.value - The formatted TIMESTAMP value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Timestamp> toTimestamp(String value, Field<String> format)
TIMESTAMP.value - The formatted TIMESTAMP value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Timestamp> toTimestamp(Field<String> value, String format)
TIMESTAMP.value - The formatted TIMESTAMP value.format - The vendor-specific formatting string.@Support(value={ORACLE,POSTGRES,VERTICA}) public static Field<Timestamp> toTimestamp(Field<String> value, Field<String> format)
TIMESTAMP.value - The formatted TIMESTAMP value.format - The vendor-specific formatting string.@Support(value={CUBRID,DB2,HANA,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE,VERTICA}) public static GroupField rollup(Field<?>... fields)
rollup(FieldOrRow...)@Support(value={CUBRID,DB2,HANA,MARIADB,MYSQL,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE,VERTICA}) public static GroupField rollup(FieldOrRow... fields)
This has been observed to work with the following databases:
 Please check the SQL Server documentation for a very nice explanation of
 CUBE, ROLLUP, and GROUPING SETS
 clauses in grouping contexts: http://msdn.microsoft.com/en-US/library/bb522495.aspx
fields - The fields that are part of the ROLLUP
            functionGROUP BY clause@Support(value={DB2,HANA,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static GroupField cube(Field<?>... fields)
cube(Field...)@Support(value={DB2,HANA,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static GroupField cube(FieldOrRow... fields)
This has been observed to work with the following databases:
 Please check the SQL Server documentation for a very nice explanation of
 CUBE, ROLLUP, and GROUPING SETS
 clauses in grouping contexts: http://msdn.microsoft.com/en-US/library/bb522495.aspx
fields - The fields that are part of the CUBE
            functionGROUP BY clause@Support(value={DB2,HANA,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static GroupField groupingSets(Field<?>... fields)
This has been observed to work with the following databases:
 Please check the SQL Server documentation for a very nice explanation of
 CUBE, ROLLUP, and GROUPING SETS
 clauses in grouping contexts: http://msdn.microsoft.com/en-US/library/bb522495.aspx
fields - The fields that are part of the GROUPING SETS
            functionGROUP BY clause@Support(value={DB2,HANA,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static GroupField groupingSets(Field<?>[]... fieldSets)
This has been observed to work with the following databases:
 Please check the SQL Server documentation for a very nice explanation of
 CUBE, ROLLUP, and GROUPING SETS
 clauses in grouping contexts: http://msdn.microsoft.com/en-US/library/bb522495.aspx
fieldSets - The fields that are part of the GROUPING SETS
            functionGROUP BY clause@Support(value={DB2,HANA,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static GroupField groupingSets(Collection<? extends Field<?>>... fieldSets)
This has been observed to work with the following databases:
 Please check the SQL Server documentation for a very nice explanation of
 CUBE, ROLLUP, and GROUPING SETS
 clauses in grouping contexts: http://msdn.microsoft.com/en-US/library/bb522495.aspx
fieldSets - The fields that are part of the GROUPING SETS
            functionGROUP BY clause@Support(value={DB2,HANA,ORACLE,POSTGRES_9_5,SQLSERVER,SYBASE}) public static Field<Integer> grouping(Field<?> field)
CUBE, ROLLUP, and GROUPING SETS
 groupings.
 This has been observed to work with the following databases:
field - The function argumentGROUPING aggregation fieldcube(Field...), 
rollup(Field...)@Support(value={HANA,ORACLE,SQLSERVER}) public static Field<Integer> groupingId(Field<?>... fields)
CUBE, ROLLUP, and
 GROUPING SETS groupings.
 This has been observed to work with the following databases:
fields - The function argumentsGROUPING_ID aggregation fieldcube(Field...), 
rollup(Field...)@Support(value={CUBRID,FIREBIRD,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SYBASE,SQLITE,VERTICA}) public static Field<Integer> bitCount(Number value)
BIT_COUNT(field) function, counting the number of
 bits that are set in this number.bitCount(Field)@Support(value={CUBRID,FIREBIRD,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SYBASE,SQLITE,VERTICA}) public static Field<Integer> bitCount(Field<? extends Number> field)
BIT_COUNT(field) function, counting the number of
 bits that are set in this number.
 
 This function is emulated in most other databases like this (for a
 TINYINT field): 
 ([field] &   1) +
 ([field] &   2) >> 1 +
 ([field] &   4) >> 2 +
 ([field] &   8) >> 3 +
 ([field] &  16) >> 4 +
  ...
 ([field] & 128) >> 7
 
More efficient algorithms are very welcome
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNot(T value)
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNot(Field<T> field)
 Most dialects natively support this using ~[field]. jOOQ
 emulates this operator in some dialects using -[field] - 1
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitAnd(T value1, T value2)
bitAnd(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitAnd(T value1, Field<T> value2)
bitAnd(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitAnd(Field<T> value1, T value2)
bitAnd(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitAnd(Field<T> field1, Field<T> field2)
This is not supported by Derby, Ingres
 This renders the and operation where available:
 [field1] & [field2]
bitand([field1], [field2])
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNand(T value1, T value2)
bitNand(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNand(T value1, Field<T> value2)
bitNand(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNand(Field<T> value1, T value2)
bitNand(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNand(Field<T> field1, Field<T> field2)
This is not supported by Derby, Ingres
 This renders the not and operation where available:
 ~([field1] & [field2])
bitnot(bitand([field1], [field2]))
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitOr(T value1, T value2)
bitOr(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitOr(T value1, Field<T> value2)
bitOr(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitOr(Field<T> value1, T value2)
bitOr(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitOr(Field<T> field1, Field<T> field2)
This is not supported by Derby, Ingres
 This renders the or operation where available:
 [field1] | [field2]
bitor([field1], [field2])
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNor(T value1, T value2)
bitNor(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNor(T value1, Field<T> value2)
bitNor(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNor(Field<T> value1, T value2)
bitNor(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitNor(Field<T> field1, Field<T> field2)
This is not supported by Derby, Ingres
 This renders the not or operation where available:
 ~([field1] | [field2])
bitnot(bitor([field1], [field2]))
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXor(T value1, T value2)
bitXor(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXor(T value1, Field<T> value2)
bitXor(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXor(Field<T> value1, T value2)
bitXor(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXor(Field<T> field1, Field<T> field2)
This is not supported by Derby, Ingres
 This renders the or operation where available:
 [field1] ^ [field2]
bitxor([field1], [field2])
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXNor(T value1, T value2)
bitXNor(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXNor(T value1, Field<T> value2)
bitXNor(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXNor(Field<T> value1, T value2)
bitXNor(Field, Field), 
bitNot(Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> bitXNor(Field<T> field1, Field<T> field2)
This is not supported by Derby, Ingres
 This renders the or operation where available:
 ~([field1] ^ [field2])
bitnot(bitxor([field1], [field2]))
@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shl(T value1, Number value2)
shl(Field, Field), 
power(Field, Number)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shl(T value1, Field<? extends Number> value2)
shl(Field, Field), 
power(Field, Number)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shl(Field<T> value1, Number value2)
shl(Field, Field), 
power(Field, Number)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shl(Field<T> field1, Field<? extends Number> field2)
 Some dialects natively support this using [field1] << [field2].
 jOOQ emulates this operator in some dialects using
 [field1] * power(2, [field2]), where power might also be emulated.
power(Field, Field)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shr(T value1, Number value2)
shr(Field, Field), 
power(Field, Number)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shr(T value1, Field<? extends Number> value2)
shr(Field, Field), 
power(Field, Number)@Support(value={ASE,CUBRID,DB2,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shr(Field<T> value1, Number value2)
shr(Field, Field), 
power(Field, Number)@Support(value={ASE,CUBRID,DB2,H2,FIREBIRD,HSQLDB,INFORMIX,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,SQLITE,VERTICA}) public static <T extends Number> Field<T> shr(Field<T> field1, Field<? extends Number> field2)
 Some dialects natively support this using [field1] >> [field2].
 jOOQ emulates this operator in some dialects using
 [field1] / power(2, [field2]), where power might also be emulated.
power(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLITE,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> rand()
@Support public static <T> Field<T> greatest(T value, T... values)
 This function has no equivalent in Adaptive Server, Derby, SQL Server and
 Sybase SQL Anywhere. Its current simulation implementation has
 O(2^n) complexity and should be avoided for
 n > 5! Better implementation suggestions are very
 welcome.
greatest(Field, Field...)@Support public static <T> Field<T> greatest(Field<T> field, Field<?>... others)
 This function has no equivalent in Adaptive Server, Derby, SQL Server and
 Sybase SQL Anywhere. Its current simulation implementation has
 O(2^n) complexity and should be avoided for
 n > 5! Better implementation suggestions are very
 welcome.
@Support public static <T> Field<T> least(T value, T... values)
 This function has no equivalent in Adaptive Server, Derby, SQL Server and
 Sybase SQL Anywhere. Its current simulation implementation has
 O(2^n) complexity and should be avoided for
 n > 5! Better implementation suggestions are very
 welcome.
least(Field, Field...)@Support public static <T> Field<T> least(Field<T> field, Field<?>... others)
 This function has no equivalent in Adaptive Server, Derby, SQL Server and
 Sybase SQL Anywhere. Its current simulation implementation has
 O(2^n) complexity and should be avoided for
 n > 5! Better implementation suggestions are very
 welcome.
@Support public static Field<Integer> sign(Number value)
sign(Field)@Support public static Field<Integer> sign(Field<? extends Number> field)
 This renders the sign function where available:
 sign([field])
 CASE WHEN [this] > 0 THEN 1
      WHEN [this] < 0 THEN -1
      ELSE 0
 END
@Support public static <T extends Number> Field<T> abs(T value)
abs(Field)@Support public static <T extends Number> Field<T> abs(Field<T> field)
 This renders the same on all dialects:
 abs([field])
@Support public static <T extends Number> Field<T> round(T value)
round(Field)@Support public static <T extends Number> Field<T> round(Field<T> field)
 This renders the round function where available:
 round([field]) or
 round([field], 0)
@Support public static <T extends Number> Field<T> round(T value, int decimals)
round(Field, int)@Support public static <T extends Number> Field<T> round(Field<T> field, int decimals)
 This renders the round function where available:
 round([field], [decimals])
@Support public static <T extends Number> Field<T> floor(T value)
floor(Field)@Support public static <T extends Number> Field<T> floor(Field<T> field)
 This renders the floor function where available:
 floor([this])
round([this] - 0.499999999999999)
@Support public static <T extends Number> Field<T> ceil(T value)
ceil(Field)@Support public static <T extends Number> Field<T> ceil(Field<T> field)
 This renders the ceil or ceiling function where available:
 ceil([field]) or
 ceiling([field])
round([field] + 0.499999999999999)
@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T extends Number> Field<T> trunc(T number)
trunc(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T extends Number> Field<T> trunc(T number, int decimals)
trunc(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T extends Number> Field<T> trunc(Field<T> number, int decimals)
trunc(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE,VERTICA}) public static <T extends Number> Field<T> trunc(T number, Field<Integer> decimals)
trunc(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLSERVER,SYBASE}) public static <T extends Number> Field<T> trunc(Field<T> number, Field<Integer> decimals)
 This function truncates number to the amount of decimals
 specified in decimals. Passing decimals = 0 to
 this function is the same as using floor(Field). Passing
 positive values for decimal has a similar effect as
 round(Field, int). Passing negative values for
 decimal will truncate number to a given power
 of 10. Some examples
 
| Function call | yields... | 
|---|---|
| trunc(125.815) | 125 | 
| trunc(125.815, 0) | 125 | 
| trunc(125.815, 1) | 125.8 | 
| trunc(125.815, 2) | 125.81 | 
| trunc(125.815, -1) | 120 | 
| trunc(125.815, -2) | 100 | 
trunc(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> sqrt(Number value)
sqrt(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> sqrt(Field<? extends Number> field)
 This renders the sqrt function where available:
 sqrt([field])
power([field], 0.5)
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> exp(Number value)
exp(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> exp(Field<? extends Number> field)
 This renders the same on all dialects:
 exp([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> ln(Number value)
ln(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> ln(Field<? extends Number> field)
 This renders the ln or log function where available:
 ln([field]) or
 log([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> log(Number value, int base)
log(Field, int)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> log(Field<? extends Number> field, int base)
 This renders the log function where available:
 log([field])
ln([field]) / ln([base])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> power(Number value, Number exponent)
power(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> power(Field<? extends Number> field, Number exponent)
power(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> power(Number value, Field<? extends Number> exponent)
power(Field, Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> power(Field<? extends Number> field, Field<? extends Number> exponent)
 This renders the power function where available:
 power([field], [exponent])
exp(ln([field]) * [exponent])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> acos(Number value)
acos(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> acos(Field<? extends Number> field)
 This renders the acos function where available:
 acos([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> asin(Number value)
asin(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> asin(Field<? extends Number> field)
 This renders the asin function where available:
 asin([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> atan(Number value)
atan(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> atan(Field<? extends Number> field)
 This renders the atan function where available:
 atan([field])
@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> atan2(Number x, Number y)
atan2(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> atan2(Number x, Field<? extends Number> y)
atan2(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> atan2(Field<? extends Number> x, Number y)
atan2(Field, Field)@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> atan2(Field<? extends Number> x, Field<? extends Number> y)
 This renders the atan2 or atn2 function where available:
 atan2([x], [y]) or
 atn2([x], [y])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> cos(Number value)
cos(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> cos(Field<? extends Number> field)
 This renders the cos function where available:
 cos([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> sin(Number value)
sin(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> sin(Field<? extends Number> field)
 This renders the sin function where available:
 sin([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> tan(Number value)
tan(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> tan(Field<? extends Number> field)
 This renders the tan function where available:
 tan([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> cot(Number value)
cot(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> cot(Field<? extends Number> field)
 This renders the cot function where available:
 cot([field])
cos([field]) / sin([field])
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> sinh(Number value)
sinh(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> sinh(Field<? extends Number> field)
 This renders the sinh function where available:
 sinh([field])
(exp([field] * 2) - 1) / (exp([field] * 2))
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> cosh(Number value)
cosh(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> cosh(Field<? extends Number> field)
 This renders the cosh function where available:
 cosh([field])
(exp([field] * 2) + 1) / (exp([field] * 2))
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> tanh(Number value)
tanh(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> tanh(Field<? extends Number> field)
 This renders the tanh function where available:
 tanh([field])
(exp([field] * 2) - 1) / (exp([field] * 2) + 1)
@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> coth(Number value)
coth(Field)@Support(value={ACCESS,ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static Field<BigDecimal> coth(Field<? extends Number> field)
 This is not supported by any RDBMS, but emulated using exp exp:
 (exp([field] * 2) + 1) / (exp([field] * 2) - 1)
@Support public static Field<BigDecimal> deg(Number value)
deg(Field)@Support public static Field<BigDecimal> deg(Field<? extends Number> field)
 This renders the degrees function where available:
 degrees([field])
[field] * 180 / PI
@Support public static Field<BigDecimal> rad(Number value)
rad(Field)@Support public static Field<BigDecimal> rad(Field<? extends Number> field)
 This renders the degrees function where available:
 degrees([field])
[field] * PI / 180
@Support(value={CUBRID,INFORMIX,ORACLE}) public static Field<Integer> level()
LEVEL pseudo-field (to be used
 along with CONNECT BY clauses).@Support(value={CUBRID,INFORMIX,ORACLE}) public static Field<Boolean> connectByIsCycle()
CONNECT_BY_ISCYCLE pseudo-field
 (to be used along with CONNECT BY clauses).@Support(value={CUBRID,INFORMIX,ORACLE}) public static Field<Boolean> connectByIsLeaf()
CONNECT_BY_ISLEAF pseudo-field
 (to be used along with CONNECT BY clauses).@Support(value={CUBRID,INFORMIX,ORACLE}) public static <T> Field<T> connectByRoot(Field<T> field)
CONNECT_BY_ROOT pseudo-column
 (to be used along with CONNECT BY clauses).@Support(value={CUBRID,INFORMIX,ORACLE}) public static Field<String> sysConnectByPath(Field<?> field, String separator)
SYS_CONNECT_BY_PATH(field, separator) function (to be used
 along with CONNECT BY clauses).@Support(value={CUBRID,INFORMIX,ORACLE}) public static <T> Field<T> prior(Field<T> field)
PRIOR unary operator before a field
 (to be used along with CONNECT BY clauses).@Support(value={CUBRID,ORACLE}) public static Field<Integer> rownum()
ROWNUM pseudo-field.@Support public static AggregateFunction<Integer> count()
@Support public static AggregateFunction<Integer> count(Field<?> field)
@Support public static AggregateFunction<Integer> count(Table<?> table)
 If this is not supported by a given database (i.e. non
 SQLDialect.POSTGRES, then the primary key is used with
 count(Field), instead.
@Support(value={ASE,CUBRID,DB2,DERBY,H2,HANA,HSQLDB,FIREBIRD,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static AggregateFunction<Integer> countDistinct(Field<?> field)
@Support(value={ASE,CUBRID,DB2,DERBY,H2,HANA,HSQLDB,FIREBIRD,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static AggregateFunction<Integer> countDistinct(Table<?> table)
 If this is not supported by a given database (i.e. non
 SQLDialect.POSTGRES, then the primary key is used with
 count(Field), instead.
@Support(value={HSQLDB,MYSQL,POSTGRES}) public static AggregateFunction<Integer> countDistinct(Field<?>... fields)
 Some dialects support several expressions in the
 COUNT(DISTINCT expr1, expr2) aggregate function.
 
 SQLDialect.POSTGRES supports this as
 COUNT(DISTINCT(expr1, expr2)).
@Support public static AggregateFunction<Boolean> every(Field<Boolean> field)
 This is a synonym for boolAnd(Field).
@Support public static AggregateFunction<Boolean> every(Condition condition)
 This is a synonym for boolAnd(Condition).
@Support public static AggregateFunction<Boolean> boolAnd(Field<Boolean> field)
@Support public static AggregateFunction<Boolean> boolAnd(Condition condition)
@Support public static AggregateFunction<Boolean> boolOr(Field<Boolean> field)
@Support public static AggregateFunction<Boolean> boolOr(Condition condition)
@Support(value={HSQLDB,POSTGRES}) public static <T> ArrayAggOrderByStep<T[]> arrayAgg(Field<T> field)
array_agg() aggregate function.@Support(value={H2,HSQLDB,POSTGRES}) public static <T> Field<T[]> array(T... values)
This translates to the following databases and syntaxes:
| SQLDialect | Java | SQL | 
|---|---|---|
| SQLDialect.H2 | array(1, 2) | (1, 2) | 
| SQLDialect.HSQLDB,SQLDialect.POSTGRES | array(1, 2) | array[1, 2] | 
@SafeVarargs @Support(value={H2,HSQLDB,POSTGRES}) public static <T> Field<T[]> array(Field<T>... fields)
This translates to the following databases and syntaxes:
| SQLDialect | Java | SQL | 
|---|---|---|
| SQLDialect.H2 | array(1, 2) | (1, 2) | 
| SQLDialect.HSQLDB,SQLDialect.POSTGRES | array(1, 2) | array[1, 2] | 
@Support(value={H2,HSQLDB,POSTGRES}) public static <T> Field<T[]> array(Collection<? extends Field<T>> fields)
This translates to the following databases and syntaxes:
| SQLDialect | Java | SQL | 
|---|---|---|
| SQLDialect.H2 | array(1, 2) | (1, 2) | 
| SQLDialect.HSQLDB,SQLDialect.POSTGRES | array(1, 2) | array[1, 2] | 
@Support public static <T> AggregateFunction<T> max(Field<T> field)
@Support public static <T> AggregateFunction<T> maxDistinct(Field<T> field)
@Support public static <T> AggregateFunction<T> min(Field<T> field)
@Support public static <T> AggregateFunction<T> minDistinct(Field<T> field)
@Support public static AggregateFunction<BigDecimal> sum(Field<? extends Number> field)
@Support public static AggregateFunction<BigDecimal> sumDistinct(Field<? extends Number> field)
@Support public static AggregateFunction<BigDecimal> avg(Field<? extends Number> field)
@Support public static AggregateFunction<BigDecimal> avgDistinct(Field<? extends Number> field)
@Support(value={CUBRID,HSQLDB,ORACLE,POSTGRES_9_4,SYBASE}) public static AggregateFunction<BigDecimal> median(Field<? extends Number> field)
@Support(value={ASE,CUBRID,DB2,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> stddevPop(Field<? extends Number> field)
@Support(value={ASE,CUBRID,DB2,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> stddevSamp(Field<? extends Number> field)
@Support(value={ASE,CUBRID,DB2,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> varPop(Field<? extends Number> field)
@Support(value={ASE,CUBRID,DB2,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> varSamp(Field<? extends Number> field)
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrSlope(Field<? extends Number> y, Field<? extends Number> x)
REGR_SLOPE linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrIntercept(Field<? extends Number> y, Field<? extends Number> x)
REGR_INTERCEPT linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrCount(Field<? extends Number> y, Field<? extends Number> x)
REGR_COUNT linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrR2(Field<? extends Number> y, Field<? extends Number> x)
REGR_R2 linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrAvgX(Field<? extends Number> y, Field<? extends Number> x)
REGR_AVGX linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrAvgY(Field<? extends Number> y, Field<? extends Number> x)
REGR_AVGY linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrSXX(Field<? extends Number> y, Field<? extends Number> x)
REGR_SXX linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrSYY(Field<? extends Number> y, Field<? extends Number> x)
REGR_SYY linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={DB2,POSTGRES,ORACLE,SYBASE,VERTICA}) public static AggregateFunction<BigDecimal> regrSXY(Field<? extends Number> y, Field<? extends Number> x)
REGR_SXY linear regression function.
 The linear regression functions fit an ordinary-least-squares regression line to a set of number pairs. You can use them as both aggregate and window functions, where this is supported.
 Note that SQLDialect.DB2 does not support linear regression
 window functions.
@Support(value={CUBRID,DB2,H2,HSQLDB,MARIADB,MYSQL,ORACLE11G,ORACLE12C,POSTGRES,SYBASE}) public static OrderedAggregateFunction<String> listAgg(Field<?> field)
 This is natively supported by SQLDialect.ORACLE11G upwards. It is
 emulated by the following dialects:
 
SQLDialect.CUBRID: Using GROUP_CONCAT()SQLDialect.DB2: Using XMLAGG()SQLDialect.H2: Using GROUP_CONCAT()SQLDialect.HSQLDB: Using GROUP_CONCAT()SQLDialect.MYSQL: Using GROUP_CONCAT()SQLDialect.POSTGRES: Using STRING_AGG()SQLDialect.SYBASE: Using LIST()groupConcat(Field)@Support(value={CUBRID,DB2,H2,HSQLDB,MARIADB,MYSQL,ORACLE11G,ORACLE12C,POSTGRES,SYBASE}) public static OrderedAggregateFunction<String> listAgg(Field<?> field, String separator)
 This is natively supported by SQLDialect.ORACLE11G upwards. It is
 emulated by the following dialects:
 
SQLDialect.CUBRID: Using GROUP_CONCATSQLDialect.DB2: Using XMLAGG()SQLDialect.H2: Using GROUP_CONCATSQLDialect.HSQLDB: Using GROUP_CONCATSQLDialect.MYSQL: Using GROUP_CONCATSQLDialect.POSTGRES: Using STRING_AGG()SQLDialect.SYBASE: Using LIST()groupConcat(Field)@Support(value={CUBRID,DB2,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SYBASE,SQLITE}) public static GroupConcatOrderByStep groupConcat(Field<?> field)
This is natively supported by
SQLDialect.CUBRIDSQLDialect.H2SQLDialect.HSQLDBSQLDialect.MYSQLSQLDialect.SQLITE (but without ORDER BY)It is emulated by the following dialects:
SQLDialect.DB2: Using XMLAGG()SQLDialect.ORACLE: Using LISTAGG()SQLDialect.POSTGRES: Using STRING_AGG()SQLDialect.SYBASE: Using LIST()listAgg(Field)@Support(value={CUBRID,DB2,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SYBASE,SQLITE}) public static AggregateFunction<String> groupConcat(Field<?> field, String separator)
This is natively supported by
It is emulated by the following dialects:
SQLDialect.DB2: Using XMLAGG()SQLDialect.ORACLE: Using LISTAGG()SQLDialect.POSTGRES: Using STRING_AGG()SQLDialect.SYBASE: Using LIST()listAgg(Field)@Support(value={CUBRID,H2,HSQLDB,MARIADB,MYSQL,POSTGRES,SYBASE}) public static GroupConcatOrderByStep groupConcatDistinct(Field<?> field)
This is natively supported by
It is emulated by the following dialects:
SQLDialect.SYBASE: Using LIST()SQLDialect.POSTGRES: Using STRING_AGG()listAgg(Field)@Support(value=POSTGRES_9_4) public static OrderedAggregateFunctionOfDeferredType mode()
mode() within group (oder by [order clause]) ordered
 aggregate function.@Support(value={ORACLE,POSTGRES_9_4}) public static OrderedAggregateFunction<Integer> rank(Field<?>... fields)
rank(expr) within group (order by [order clause])
 ordered-set aggregate function.@Support(value={ORACLE,POSTGRES_9_4}) public static OrderedAggregateFunction<Integer> denseRank(Field<?>... fields)
dense_rank(expr) within group (order by [order clause])
 ordered-set aggregate function.@Support(value={ORACLE,POSTGRES_9_4}) public static OrderedAggregateFunction<Integer> percentRank(Field<?>... fields)
percent_rank(expr) within group (order by [order clause])
 ordered-set aggregate function.@Support(value={ORACLE,POSTGRES_9_4}) public static OrderedAggregateFunction<BigDecimal> cumeDist(Field<?>... fields)
cume_dist(expr) within group (order by [order clause])
 ordered-set aggregate function.@Support(value={ORACLE,POSTGRES_9_4,SQLSERVER2012,REDSHIFT}) public static OrderedAggregateFunction<BigDecimal> percentileCont(Number number)
percentile_cont([number]) within group (order by [column])
 function.
 
 While SQLDialect.ORACLE and SQLDialect.POSTGRES support
 this as an aggregate function, SQLDialect.SQLSERVER and
 SQLDialect.REDSHIFT support only its window function variant.
@Support(value={ORACLE,POSTGRES_9_4,SQLSERVER2012,REDSHIFT}) public static OrderedAggregateFunction<BigDecimal> percentileCont(Field<? extends Number> field)
percentile_cont([number]) within group (order by [column])
 function.
 
 While SQLDialect.ORACLE and SQLDialect.POSTGRES support
 this as an aggregate function, SQLDialect.SQLSERVER and
 SQLDialect.REDSHIFT support only its window function variant.
@Support(value={ORACLE,POSTGRES_9_4,SQLSERVER2012,REDSHIFT}) public static OrderedAggregateFunction<BigDecimal> percentileDisc(Number number)
percentile_disc([number]) within group (order by [column])
 function.
 
 While SQLDialect.ORACLE and SQLDialect.POSTGRES support
 this as an aggregate function, SQLDialect.SQLSERVER and
 SQLDialect.REDSHIFT support only its window function variant.
@Support(value={ORACLE,POSTGRES_9_4,SQLSERVER2012,REDSHIFT}) public static OrderedAggregateFunction<BigDecimal> percentileDisc(Field<? extends Number> field)
percentile_disc([number]) within group (order by [column])
 function.
 
 While SQLDialect.ORACLE and SQLDialect.POSTGRES support
 this as an aggregate function, SQLDialect.SQLSERVER and
 SQLDialect.REDSHIFT support only its window function variant.
@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowSpecificationOrderByStep partitionBy(Field<?>... fields)
WindowSpecification with a PARTITION BY clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowSpecificationOrderByStep partitionBy(Collection<? extends Field<?>> fields)
WindowSpecification with a PARTITION BY clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowSpecificationOrderByStep orderBy(Field<?>... fields)
WindowSpecification with an ORDER BY clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowSpecificationRowsStep orderBy(SortField<?>... fields)
WindowSpecification with an ORDER BY clause.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowSpecificationRowsStep orderBy(Collection<? extends SortField<?>> fields)
WindowSpecification with an ORDER BY clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rowsUnboundedPreceding()
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rowsPreceding(int number)
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rowsCurrentRow()
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rowsUnboundedFollowing()
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rowsFollowing(int number)
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rowsBetweenUnboundedPreceding()
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rowsBetweenPreceding(int number)
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rowsBetweenCurrentRow()
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rowsBetweenUnboundedFollowing()
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rowsBetweenFollowing(int number)
WindowSpecification with a ROWS clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rangeUnboundedPreceding()
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rangePreceding(int number)
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rangeCurrentRow()
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rangeUnboundedFollowing()
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationFinalStep rangeFollowing(int number)
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rangeBetweenUnboundedPreceding()
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rangeBetweenPreceding(int number)
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rangeBetweenCurrentRow()
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rangeBetweenUnboundedFollowing()
WindowSpecification with a RANGE clause.@Support(value={DB2,INFORMIX,POSTGRES,ORACLE,SQLSERVER2012,SYBASE,VERTICA}) public static WindowSpecificationRowsAndStep rangeBetweenFollowing(int number)
WindowSpecification with a RANGE clause.@Support(value={CUBRID,DB2,DERBY,FIREBIRD_3_0,H2,HANA,HSQLDB,INFORMIX,ORACLE,POSTGRES,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowOverStep<Integer> rowNumber()
row_number() over ([analytic clause]) function.
 
 Newer versions of SQLDialect.DERBY and SQLDialect.H2 also
 support the ROW_NUMBER() OVER() window function without any
 window clause. See the respective docs for details.
 SQLDialect.HSQLDB can emulate this function using
 ROWNUM()
@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowOverStep<Integer> rank()
rank() over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowOverStep<Integer> denseRank()
dense_rank() over ([analytic clause]) function.@Support(value={CUBRID,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE,VERTICA}) public static WindowOverStep<BigDecimal> percentRank()
precent_rank() over ([analytic clause]) function.@Support(value={CUBRID,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,SYBASE,VERTICA}) public static WindowOverStep<BigDecimal> cumeDist()
cume_dist() over ([analytic clause]) function.@Support(value={CUBRID,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER,VERTICA}) public static WindowOverStep<Integer> ntile(int number)
ntile([number]) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE}) public static <T> WindowIgnoreNullsStep<T> firstValue(Field<T> field)
first_value(field) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,ORACLE,REDSHIFT,SQLSERVER2012,SYBASE}) public static <T> WindowIgnoreNullsStep<T> lastValue(Field<T> field)
last_value(field) over ([analytic clause]) function.@Support(value={FIREBIRD_3_0,POSTGRES,ORACLE}) public static <T> WindowIgnoreNullsStep<T> nthValue(Field<T> field, int nth)
nth_value(field) over ([analytic clause]) function.@Support(value={FIREBIRD_3_0,POSTGRES,ORACLE}) public static <T> WindowIgnoreNullsStep<T> nthValue(Field<T> field, Field<Integer> nth)
nth_value(field) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lead(Field<T> field)
lead(field) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lead(Field<T> field, int offset)
lead(field, offset) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lead(Field<T> field, int offset, T defaultValue)
lead(field, offset, defaultValue) over ([analytic clause])
 function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lead(Field<T> field, int offset, Field<T> defaultValue)
lead(field, offset, defaultValue) over ([analytic clause])
 function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lag(Field<T> field)
lag(field) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lag(Field<T> field, int offset)
lag(field, offset) over ([analytic clause]) function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lag(Field<T> field, int offset, T defaultValue)
lag(field, offset, defaultValue) over ([analytic clause])
 function.@Support(value={CUBRID,DB2,FIREBIRD_3_0,HANA,INFORMIX,POSTGRES,REDSHIFT,SQLSERVER2012,ORACLE,VERTICA}) public static <T> WindowIgnoreNullsStep<T> lag(Field<T> field, int offset, Field<T> defaultValue)
lag(field, offset, defaultValue) over ([analytic clause])
 function.@Support public static <T> Param<Object> param()
Object /
 SQLDataType.OTHER) and no initial value.
 
 Try to avoid this method when using any of these databases, as these
 databases may have trouble inferring the type of the bind value. Use
 typed named parameters instead, using param(Class) or
 param(DataType)
 
param(String, Object)@Support public static <T> Param<T> param(Class<T> type)
param(String, Object)@Support public static <T> Param<T> param(DataType<T> type)
param(String, Object)@Support public static <T> Param<T> param(Field<T> field)
param(String, Object)@Support public static Param<Object> param(String name)
Object /
 SQLDataType.OTHER) and no initial value.
 
 Try to avoid this method when using any of these databases, as these
 databases may have trouble inferring the type of the bind value. Use
 typed named parameters instead, using param(String, Class) or
 param(String, DataType)
 
param(String, Object)@Support public static <T> Param<T> param(String name, Class<T> type)
param(String, Object)@Support public static <T> Param<T> param(String name, DataType<T> type)
param(String, Object)@Support public static <T> Param<T> param(String name, Field<T> type)
param(String, Object)@Support public static <T> Param<T> param(String name, T value)
Named parameters are useful for several use-cases:
JdbcTemplate, which
 supports named parameters. Use
 DSLContext.renderNamedParams(QueryPart) to render
 parameter names in SQLQuery.getParam(String) and Query.getParams().@Support public static <T> Param<T> value(T value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Byte> value(byte value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Byte> value(Byte value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<UByte> value(UByte value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Short> value(short value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Short> value(Short value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<UShort> value(UShort value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Integer> value(int value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Integer> value(Integer value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<UInteger> value(UInteger value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Long> value(long value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Long> value(Long value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<ULong> value(ULong value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Float> value(float value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Float> value(Float value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Double> value(double value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Double> value(Double value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Boolean> value(boolean value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Boolean> value(Boolean value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<BigDecimal> value(BigDecimal value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<BigInteger> value(BigInteger value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<byte[]> value(byte[] value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<String> value(String value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Date> value(Date value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Time> value(Time value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<Timestamp> value(Timestamp value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<java.time.LocalDate> value(java.time.LocalDate value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<java.time.LocalTime> value(java.time.LocalTime value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<java.time.LocalDateTime> value(java.time.LocalDateTime value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<java.time.OffsetTime> value(java.time.OffsetTime value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<java.time.OffsetDateTime> value(java.time.OffsetDateTime value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)public static Param<UUID> value(UUID value)
val(Object) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object)@Support public static <T> Param<T> value(Object value, Class<T> type)
val(Object, Class) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object, Class)@Support public static <T> Param<T> value(Object value, Field<T> field)
val(Object, Field) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object, Field)@Support public static <T> Param<T> value(Object value, DataType<T> type)
val(Object, DataType) to be used in Scala and Groovy, where
 val is a reserved keyword.val(Object, DataType)@Support public static <T> Param<T> inline(T value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'defval(Object)public static Param<Byte> inline(byte value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Byte> inline(Byte value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<UByte> inline(UByte value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Short> inline(short value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Short> inline(Short value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<UShort> inline(UShort value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Integer> inline(int value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Integer> inline(Integer value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<UInteger> inline(UInteger value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Long> inline(long value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Long> inline(Long value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<ULong> inline(ULong value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Float> inline(float value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Float> inline(Float value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Double> inline(double value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Double> inline(Double value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Boolean> inline(boolean value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Boolean> inline(Boolean value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<BigDecimal> inline(BigDecimal value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<BigInteger> inline(BigInteger value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<byte[]> inline(byte[] value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<String> inline(String value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Date> inline(Date value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Time> inline(Time value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<Timestamp> inline(Timestamp value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<java.time.LocalDate> inline(java.time.LocalDate value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<java.time.LocalTime> inline(java.time.LocalTime value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<java.time.LocalDateTime> inline(java.time.LocalDateTime value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<java.time.OffsetTime> inline(java.time.OffsetTime value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<java.time.OffsetDateTime> inline(java.time.OffsetDateTime value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)public static Param<UUID> inline(UUID value)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String), you can expect value to
 be properly escaped for SQL syntax correctness and SQL injection
 prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'definline(Object), 
val(Object)@Support public static Param<String> inline(char character)
 This is a convenience method for inline(Object), returning
 Field<String>, rather than
 Field<Character>
inline(Object)@Support public static Param<String> inline(Character character)
 This is a convenience method for inline(Object), returning
 Field<String>, rather than
 Field<Character>
inline(Object)@Support public static Param<String> inline(CharSequence character)
 This is a convenience method for inline(Object), returning
 Field<String>, rather than
 Field<CharSequence>
inline(Object)@Support public static <T> Param<T> inline(Object value, Class<T> type)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String, Class), you can expect
 value to be properly escaped for SQL syntax correctness and
 SQL injection prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'defval(Object, Class)@Support public static <T> Param<T> inline(Object value, Field<T> field)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String, DataType), you can expect
 value to be properly escaped for SQL syntax correctness and
 SQL injection prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'defval(Object, Field)@Support public static <T> Param<T> inline(Object value, DataType<T> type)
 The resulting bind value is always inlined, regardless of the
 Settings.getStatementType() property of the rendering factory.
 Unlike with field(String, DataType), you can expect
 value to be properly escaped for SQL syntax correctness and
 SQL injection prevention. For example:
 
inline("abc'def") renders 'abc''def'field("abc'def") renders abc'defval(Object, DataType)@Support public static <T> Param<T> val(T value)
 jOOQ tries to derive the RDBMS DataType from the provided Java
 type <T>. This may not always be accurate, which can
 lead to problems in some strongly typed RDMBS, especially when value is
 null. These databases are namely:
 
 If you need more type-safety, please use val(Object, DataType)
 instead, and provide the precise RDMBS-specific data type, that is
 needed.
T - The generic value typevalue - The constant valuepublic static Param<Byte> val(byte value)
val(Object)public static Param<Byte> val(Byte value)
val(Object)public static Param<UByte> val(UByte value)
val(Object)public static Param<Short> val(short value)
val(Object)public static Param<Short> val(Short value)
val(Object)public static Param<UShort> val(UShort value)
val(Object)public static Param<Integer> val(int value)
val(Object)public static Param<Integer> val(Integer value)
val(Object)public static Param<UInteger> val(UInteger value)
val(Object)public static Param<Long> val(long value)
val(Object)public static Param<Long> val(Long value)
val(Object)public static Param<ULong> val(ULong value)
val(Object)public static Param<Float> val(float value)
val(Object)public static Param<Float> val(Float value)
val(Object)public static Param<Double> val(double value)
val(Object)public static Param<Double> val(Double value)
val(Object)public static Param<Boolean> val(boolean value)
val(Object)public static Param<Boolean> val(Boolean value)
val(Object)public static Param<BigDecimal> val(BigDecimal value)
val(Object)public static Param<BigInteger> val(BigInteger value)
val(Object)public static Param<byte[]> val(byte[] value)
val(Object)public static Param<String> val(String value)
val(Object)public static Param<Date> val(Date value)
val(Object)public static Param<Time> val(Time value)
val(Object)public static Param<Timestamp> val(Timestamp value)
val(Object)public static Param<java.time.LocalDate> val(java.time.LocalDate value)
val(Object)public static Param<java.time.LocalTime> val(java.time.LocalTime value)
val(Object)public static Param<java.time.LocalDateTime> val(java.time.LocalDateTime value)
val(Object)public static Param<java.time.OffsetTime> val(java.time.OffsetTime value)
val(Object)public static Param<java.time.OffsetDateTime> val(java.time.OffsetDateTime value)
val(Object)public static Param<UUID> val(UUID value)
val(Object)@Support public static <T> Param<T> val(Object value, Class<T> type)
T - The generic value typevalue - The constant valuetype - The data type to enforce upon the valueval(Object, DataType)@Support public static <T> Param<T> val(Object value, Field<T> field)
T - The generic value typevalue - The constant valuefield - The field whose data type to enforce upon the valueval(Object, DataType)@Support public static <T> Param<T> val(Object value, DataType<T> type)
 This will try to bind value as type in a
 PreparedStatement. If value and
 type are not compatible, jOOQ will first try to convert and
 then to cast value to type.
T - The generic value typevalue - The constant valuetype - The data type to enforce upon the valuepublic static <T1> RecordType<Record> recordType(Field<?>[] fields)
RecordType of an arbitrary degree.public static <T1> RecordType<Record> recordType(Collection<? extends Field<?>> fields)
RecordType of an arbitrary degree.@Generated(value="This method was generated using jOOQ-tools") public static <T1> RecordType<Record1<T1>> recordType(Field<T1> field1)
RecordType of degree 1.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2> RecordType<Record2<T1,T2>> recordType(Field<T1> field1, Field<T2> field2)
RecordType of degree 2.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3> RecordType<Record3<T1,T2,T3>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3)
RecordType of degree 3.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4> RecordType<Record4<T1,T2,T3,T4>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4)
RecordType of degree 4.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5> RecordType<Record5<T1,T2,T3,T4,T5>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5)
RecordType of degree 5.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6> RecordType<Record6<T1,T2,T3,T4,T5,T6>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6)
RecordType of degree 6.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7> RecordType<Record7<T1,T2,T3,T4,T5,T6,T7>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7)
RecordType of degree 7.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8> RecordType<Record8<T1,T2,T3,T4,T5,T6,T7,T8>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8)
RecordType of degree 8.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> RecordType<Record9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9)
RecordType of degree 9.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> RecordType<Record10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10)
RecordType of degree 10.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> RecordType<Record11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11)
RecordType of degree 11.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> RecordType<Record12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12)
RecordType of degree 12.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> RecordType<Record13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13)
RecordType of degree 13.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> RecordType<Record14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14)
RecordType of degree 14.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> RecordType<Record15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15)
RecordType of degree 15.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> RecordType<Record16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16)
RecordType of degree 16.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> RecordType<Record17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17)
RecordType of degree 17.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> RecordType<Record18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18)
RecordType of degree 18.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> RecordType<Record19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19)
RecordType of degree 19.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> RecordType<Record20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20)
RecordType of degree 20.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> RecordType<Record21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21)
RecordType of degree 21.@Generated(value="This method was generated using jOOQ-tools") public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> RecordType<Record22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>> recordType(Field<T1> field1, Field<T2> field2, Field<T3> field3, Field<T4> field4, Field<T5> field5, Field<T6> field6, Field<T7> field7, Field<T8> field8, Field<T9> field9, Field<T10> field10, Field<T11> field11, Field<T12> field12, Field<T13> field13, Field<T14> field14, Field<T15> field15, Field<T16> field16, Field<T17> field17, Field<T18> field18, Field<T19> field19, Field<T20> field20, Field<T21> field21, Field<T22> field22)
RecordType of degree 22.@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1> Row1<T1> row(T1 t1)
1.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2> Row2<T1,T2> row(T1 t1, T2 t2)
2.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3> Row3<T1,T2,T3> row(T1 t1, T2 t2, T3 t3)
3.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4> Row4<T1,T2,T3,T4> row(T1 t1, T2 t2, T3 t3, T4 t4)
4.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5> Row5<T1,T2,T3,T4,T5> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
5.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6> Row6<T1,T2,T3,T4,T5,T6> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
6.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7> Row7<T1,T2,T3,T4,T5,T6,T7> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
7.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8> Row8<T1,T2,T3,T4,T5,T6,T7,T8> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
8.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> Row9<T1,T2,T3,T4,T5,T6,T7,T8,T9> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9)
9.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> Row10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10)
10.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> Row11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11)
11.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> Row12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12)
12.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> Row13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13)
13.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> Row14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14)
14.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> Row15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15)
15.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> Row16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16)
16.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> Row17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17)
17.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> Row18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18)
18.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> Row19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19)
19.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> Row20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20)
20.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> Row21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21)
21.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> Row22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> row(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16, T17 t17, T18 t18, T19 t19, T20 t20, T21 t21, T22 t22)
22.
 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.
@Support public static RowN row(Object... values)
N > 22.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1> Row1<T1> row(Field<T1> t1)
1.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2> Row2<T1,T2> row(Field<T1> t1, Field<T2> t2)
2.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3> Row3<T1,T2,T3> row(Field<T1> t1, Field<T2> t2, Field<T3> t3)
3.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4> Row4<T1,T2,T3,T4> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4)
4.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5> Row5<T1,T2,T3,T4,T5> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5)
5.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6> Row6<T1,T2,T3,T4,T5,T6> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6)
6.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7> Row7<T1,T2,T3,T4,T5,T6,T7> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7)
7.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8> Row8<T1,T2,T3,T4,T5,T6,T7,T8> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8)
8.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> Row9<T1,T2,T3,T4,T5,T6,T7,T8,T9> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9)
9.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> Row10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10)
10.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> Row11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11)
11.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> Row12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12)
12.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> Row13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13)
13.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> Row14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14)
14.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> Row15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15)
15.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> Row16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16)
16.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> Row17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17)
17.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> Row18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18)
18.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> Row19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19)
19.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> Row20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20)
20.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> Row21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20, Field<T21> t21)
21.
 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.
@Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> Row22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> row(Field<T1> t1, Field<T2> t2, Field<T3> t3, Field<T4> t4, Field<T5> t5, Field<T6> t6, Field<T7> t7, Field<T8> t8, Field<T9> t9, Field<T10> t10, Field<T11> t11, Field<T12> t12, Field<T13> t13, Field<T14> t14, Field<T15> t15, Field<T16> t16, Field<T17> t17, Field<T18> t18, Field<T19> t19, Field<T20> t20, Field<T21> t21, Field<T22> t22)
22.
 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.
@Support public static RowN row(Field<?>... values)
N > 22.
 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.
@Support public static RowN row(Collection<?> values)
N > 22.
 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.
@Support public static Table<Record> values(RowN... rows)
VALUES() expression of arbitrary degree.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2),
       (val2_1, val2_2),
       (val3_1, val3_2)
 AS "v"("c1"  , "c2"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1> Table<Record1<T1>> values(Row1<T1>... rows)
VALUES() expression of degree 1.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1),
       (val2_1),
       (val3_1)
 AS "v"("c1"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1") UNION ALL
 SELECT val1_1 AS "c1") UNION ALL
 SELECT val1_1 AS "c1")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2> Table<Record2<T1,T2>> values(Row2<T1,T2>... rows)
VALUES() expression of degree 2.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2),
       (val2_1, val2_2),
       (val3_1, val3_2)
 AS "v"("c1"  , "c2"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3> Table<Record3<T1,T2,T3>> values(Row3<T1,T2,T3>... rows)
VALUES() expression of degree 3.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3),
       (val2_1, val2_2, val2_3),
       (val3_1, val3_2, val3_3)
 AS "v"("c1"  , "c2"  , "c3"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4> Table<Record4<T1,T2,T3,T4>> values(Row4<T1,T2,T3,T4>... rows)
VALUES() expression of degree 4.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4),
       (val2_1, val2_2, val2_3, val2_4),
       (val3_1, val3_2, val3_3, val3_4)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5> Table<Record5<T1,T2,T3,T4,T5>> values(Row5<T1,T2,T3,T4,T5>... rows)
VALUES() expression of degree 5.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5),
       (val2_1, val2_2, val2_3, val2_4, val2_5),
       (val3_1, val3_2, val3_3, val3_4, val3_5)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6> Table<Record6<T1,T2,T3,T4,T5,T6>> values(Row6<T1,T2,T3,T4,T5,T6>... rows)
VALUES() expression of degree 6.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7> Table<Record7<T1,T2,T3,T4,T5,T6,T7>> values(Row7<T1,T2,T3,T4,T5,T6,T7>... rows)
VALUES() expression of degree 7.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8> Table<Record8<T1,T2,T3,T4,T5,T6,T7,T8>> values(Row8<T1,T2,T3,T4,T5,T6,T7,T8>... rows)
VALUES() expression of degree 8.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9> Table<Record9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> values(Row9<T1,T2,T3,T4,T5,T6,T7,T8,T9>... rows)
VALUES() expression of degree 9.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> Table<Record10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> values(Row10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>... rows)
VALUES() expression of degree 10.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11> Table<Record11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> values(Row11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>... rows)
VALUES() expression of degree 11.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12> Table<Record12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> values(Row12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>... rows)
VALUES() expression of degree 12.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13> Table<Record13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> values(Row13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>... rows)
VALUES() expression of degree 13.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14> Table<Record14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> values(Row14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>... rows)
VALUES() expression of degree 14.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15> Table<Record15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> values(Row15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>... rows)
VALUES() expression of degree 15.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16> Table<Record16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> values(Row16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>... rows)
VALUES() expression of degree 16.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17> Table<Record17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>> values(Row17<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17>... rows)
VALUES() expression of degree 17.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16, val1_17),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16, val2_17),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16, val3_17)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  , "c17"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18> Table<Record18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>> values(Row18<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18>... rows)
VALUES() expression of degree 18.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16, val1_17, val1_18),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16, val2_17, val2_18),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16, val3_17, val3_18)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  , "c17"  , "c18"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> Table<Record19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>> values(Row19<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>... rows)
VALUES() expression of degree 19.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16, val1_17, val1_18, val1_19),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16, val2_17, val2_18, val2_19),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16, val3_17, val3_18, val3_19)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  , "c17"  , "c18"  , "c19"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20> Table<Record20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>> values(Row20<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20>... rows)
VALUES() expression of degree 20.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16, val1_17, val1_18, val1_19, val1_20),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16, val2_17, val2_18, val2_19, val2_20),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16, val3_17, val3_18, val3_19, val3_20)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  , "c17"  , "c18"  , "c19"  , "c20"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21> Table<Record21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>> values(Row21<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21>... rows)
VALUES() expression of degree 21.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16, val1_17, val1_18, val1_19, val1_20, val1_21),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16, val2_17, val2_18, val2_19, val2_20, val2_21),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16, val3_17, val3_18, val3_19, val3_20, val3_21)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  , "c17"  , "c18"  , "c19"  , "c20"  , "c21"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20", val1_21 AS "c21") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20", val1_21 AS "c21") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20", val1_21 AS "c21")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
@SafeVarargs @Generated(value="This method was generated using jOOQ-tools") @Support public static <T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22> Table<Record22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>> values(Row22<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22>... rows)
VALUES() expression of degree 22.
 
 The VALUES() constructor is a tool supported by some
 databases to allow for constructing tables from constant values.
 
 If a database doesn't support the VALUES() constructor, it
 can be emulated using SELECT .. UNION ALL ... The following
 expressions are equivalent:
 
 -- Using VALUES() constructor
 VALUES(val1_1, val1_2, val1_3, val1_4, val1_5, val1_6, val1_7, val1_8, val1_9, val1_10, val1_11, val1_12, val1_13, val1_14, val1_15, val1_16, val1_17, val1_18, val1_19, val1_20, val1_21, val1_22),
       (val2_1, val2_2, val2_3, val2_4, val2_5, val2_6, val2_7, val2_8, val2_9, val2_10, val2_11, val2_12, val2_13, val2_14, val2_15, val2_16, val2_17, val2_18, val2_19, val2_20, val2_21, val2_22),
       (val3_1, val3_2, val3_3, val3_4, val3_5, val3_6, val3_7, val3_8, val3_9, val3_10, val3_11, val3_12, val3_13, val3_14, val3_15, val3_16, val3_17, val3_18, val3_19, val3_20, val3_21, val3_22)
 AS "v"("c1"  , "c2"  , "c3"  , "c4"  , "c5"  , "c6"  , "c7"  , "c8"  , "c9"  , "c10"  , "c11"  , "c12"  , "c13"  , "c14"  , "c15"  , "c16"  , "c17"  , "c18"  , "c19"  , "c20"  , "c21"  , "c22"  )
 -- Using UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20", val1_21 AS "c21", val1_22 AS "c22") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20", val1_21 AS "c21", val1_22 AS "c22") UNION ALL
 SELECT val1_1 AS "c1", val1_2 AS "c2", val1_3 AS "c3", val1_4 AS "c4", val1_5 AS "c5", val1_6 AS "c6", val1_7 AS "c7", val1_8 AS "c8", val1_9 AS "c9", val1_10 AS "c10", val1_11 AS "c11", val1_12 AS "c12", val1_13 AS "c13", val1_14 AS "c14", val1_15 AS "c15", val1_16 AS "c16", val1_17 AS "c17", val1_18 AS "c18", val1_19 AS "c19", val1_20 AS "c20", val1_21 AS "c21", val1_22 AS "c22")
 
 Use Table.as(String, String...) to rename the resulting table and
 its columns.
protected static <T> DataType<T> nullSafeDataType(Field<T> field)
@Support public static Param<Integer> zero()
0 literal.
 
 This is useful for mathematical functions or for
 EXISTS (SELECT 0 ...) or PARTITION BY 0 clauses
 and similar constructs. The 0 literal will not generate a
 bind variable.
0 literal as a Field@Support public static Param<Integer> one()
1 literal.
 
 This is useful for mathematical functions or for
 EXISTS (SELECT 1 ...) or PARTITION BY 1 clauses
 and similar constructs. The 1 literal will not generate a
 bind variable.
1 literal as a Field@Support public static Param<Integer> two()
2 literal.
 
 This is useful for mathematical functions. The 1 literal
 will not generate a bind variable.
2 literal as a Field@Support public static Field<BigDecimal> pi()
PI literal.
 This will be any of the following:
PI literal or PI() functionMath.PI@Support public static Field<BigDecimal> e()
E literal (Euler number).
 This will be any of the following:
E literal or E() functionMath.E@Support(value={ASE,CUBRID,DB2,DERBY,FIREBIRD,H2,HANA,HSQLDB,INFORMIX,INGRES,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,SYBASE}) public static Field<String> currentUser()
current_user() function.@Support(value={CUBRID,DB2,DERBY,FIREBIRD,H2,HSQLDB,MARIADB,MYSQL,ORACLE,POSTGRES,SQLITE,SQLSERVER,VERTICA}) public static Field<String> currentSchema()
current_schema() function.@Support public static <T> DataType<T> getDataType(Class<T> type)
DSLContext's underlying
 SQLDialect and a given Java type.T - The generic typetype - The Java typeDSL's underlying default data type.Copyright © 2016. All Rights Reserved.