Module org.jooq
Package org.jooq.impl

Class CustomField<T>

java.lang.Object
org.jooq.impl.CustomField<T>
All Implemented Interfaces:
Serializable, Field<T>, FieldOrConstraint, FieldOrRow, FieldOrRowOrSelect, GroupField, QOM.Aliasable<Field<?>>, Named, OrderField<T>, QueryPart, QueryPartInternal, SelectField<T>, SelectFieldOrAsterisk, TableElement, Typed<T>

public abstract non-sealed class CustomField<T> extends Object
A base class for custom Field implementations in client code.

Client code may provide proper Condition implementations extending this useful base class. All necessary parts of the Condition interface are already implemented. Only this method needs further implementation: accept(Context).

Refer to that methods' Javadoc for further details about their expected behaviour.

Author:
Lukas Eder
See Also:
  • Constructor Details

  • Method Details

    • of

      public static final <T> CustomField<T> of(String name, DataType<T> type, Consumer<? super Context<?>> consumer)
      Create a CustomField from a lambda expression.
    • of

      public static final <T> CustomField<T> of(Name name, DataType<T> type, Consumer<? super Context<?>> consumer)
      Create a CustomField from a lambda expression.
    • accept

      public abstract void accept(Context<?> ctx)
      Subclasses must implement this method.
      This QueryPart can accept a Context object in order to render a SQL string or to bind its variables.
      Specified by:
      accept in interface QueryPartInternal
    • clauses

      public final Clause[] clauses(Context<?> ctx)
      Description copied from interface: QueryPartInternal
      The Clauses that are represented by this query part.

      QueryParts can specify several Clauses for which an event will be emitted before (in forward order) and after (in reverse order) visiting the the query part through Context.visit(QueryPart)

      This method is for JOOQ INTERNAL USE only. Do not reference directly

      Specified by:
      clauses in interface QueryPartInternal
      Returns:
      The Clauses represented by this query part or null or an empty array if this query part does not represent a clause.
    • as

      public final Field<T> as(Name alias)
      Description copied from interface: SelectField
      Create an alias for this field.

      Note that the case-sensitivity of the returned field depends on Settings.getRenderQuotedNames() and the Name. By default, field aliases are quoted, and thus case-sensitive in many SQL dialects - use DSL.unquotedName(String...) for case-insensitive aliases.

      If the argument Name.getName() is qualified, then the Name.last() part will be used.

      Specified by:
      as in interface Field<T>
      Specified by:
      as in interface SelectField<T>
      Parameters:
      alias - The alias name
      Returns:
      The field alias
    • declaresFields

      public final boolean declaresFields()
      Subclasses may override this
      Specified by:
      declaresFields in interface QueryPartInternal
    • declaresTables

      public final boolean declaresTables()
      Subclasses may override this
      Specified by:
      declaresTables in interface QueryPartInternal
    • $traverse

      default <R> R $traverse(Traverser<?,R> traverser)
      Description copied from interface: QueryPart
      Traverser this QueryPart expression tree using a composable Traverser, producing a result.

      This offers a generic way to traverse expression trees to translate the tree to arbitrary other data structures. The simplest traversal would just count all the tree elements:

      
       int count = CUSTOMER.NAME.eq(1).$traverse(0, (i, p) -> i + 1);
       

      The same can be achieved by translating the JDK Collector API to the Traverser API using Traversers.collecting(Collector).

      
       CUSTOMER.NAME.eq(1).$traverse(Traversers.collecting(Collectors.counting()));
       

      Unlike a Collector, a Traverser is optimised for tree traversal, not stream traversal:

      • Is not designed for parallelism
      • It can Traverser.abort() traversal early when the result can be produced early (e.g. when running Traversers.containing(QueryPart), and a result has been found).
      • It can decide whether to Traverser.recurse() into a QueryPart subtree, or whether that is not necessary or even undesirable, e.g. to prevent entering new subquery scopes.
      • Unlike a Collector, which can use its Collector.accumulator() to accumulate each element only once, in tree traversal, it's desirable to be able to distinguish between accumulating an item Traverser.before() or Traverser.after() recursing into it. This is useful e.g. to wrap each tree node in XML opening and closing tags.

      This is a commercial jOOQ edition only feature.

      Specified by:
      $traverse in interface QueryPart
    • $replace

      default QueryPart $replace(Replacer replacer)
      Description copied from interface: QueryPart
      Traverse a QueryPart hierarchy and recursively replace its elements by alternatives.

      While replacing contents, this QueryPart isn't modified. Instead, a new object is returned.

      This is a commercial jOOQ edition only feature.

      Specified by:
      $replace in interface QueryPart
    • field

      public final Field<T> field(Record record)
      Description copied from interface: Field
      The inverse operation of Fields.field(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream.

      Specified by:
      field in interface Field<T>
    • get

      public final T get(Record record)
      Description copied from interface: Field
      The inverse operation of Record.get(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:

      
       DSL.using(configuration)
          .fetch("select * from t")
          .stream()
          .map(MY_TABLE.ID::get)
          .forEach(System.out::println);
       
      Specified by:
      get in interface Field<T>
    • getValue

      public final T getValue(Record record)
      Description copied from interface: Field
      The inverse operation of Record.getValue(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:

      
       DSL.using(configuration)
          .fetch("select * from t")
          .stream()
          .map(MY_TABLE.ID::getValue)
          .forEach(System.out::println);
       
      Specified by:
      getValue in interface Field<T>
    • original

      public final T original(Record record)
      Description copied from interface: Field
      The inverse operation of Record.original(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:

      
       DSL.using(configuration)
          .fetch("select * from t")
          .stream()
          .map(MY_TABLE.ID::original)
          .forEach(System.out::println);
       
      Specified by:
      original in interface Field<T>
    • changed

      public final boolean changed(Record record)
      Description copied from interface: Field
      The inverse operation of Record.changed(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:

      
       DSL.using(configuration)
          .fetch("select * from t")
          .stream()
          .map(MY_TABLE.ID::changed)
          .forEach(System.out::println);
       
      Specified by:
      changed in interface Field<T>
    • reset

      public final void reset(Record record)
      Description copied from interface: Field
      The inverse operation of Record.reset(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:

      
       DSL.using(configuration)
          .fetch("select * from t")
          .stream()
          .forEach(MY_TABLE.ID::reset);
       
      Specified by:
      reset in interface Field<T>
    • from

      public final Record1<T> from(Record record)
      Description copied from interface: Field
      The inverse operation of Record.into(Field).

      This method can be used in its method reference form conveniently on a generated table, for instance, when mapping records in a stream:

      
       DSL.using(configuration)
          .fetch("select * from t")
          .stream()
          .map(MY_TABLE.ID::from)
          .forEach(System.out::println);
       
      Specified by:
      from in interface Field<T>
    • $alias

      public Name $alias()
      Description copied from interface: QOM.Aliasable
      The alias if any.
      Specified by:
      $alias in interface QOM.Aliasable<T>
    • $aliased

      public Field<?> $aliased()
      Description copied from interface: QOM.Aliasable
      The aliased part (a Field or a Table).
      Specified by:
      $aliased in interface QOM.Aliasable<T>
    • convert

      public final <U> Field<U> convert(Binding<T,U> binding)
      Description copied from interface: SelectField
      Apply an ad-hoc data type Binding to this field expression.

      Rather than attaching data type bindings at code generation time, or creating cumbersome expressions using DataType.asConvertedDataType(Binding), this method allows for creating a derived field expression with an ad-hoc data type binding for single query usage.

      Specified by:
      convert in interface Field<T>
      Specified by:
      convert in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Parameters:
      binding - The binding to be applied on any operations using this field.
      Returns:
      A derived field expression using a new binding.
    • convert

      public final <U> Field<U> convert(Converter<T,U> converter)
      Description copied from interface: SelectField
      Apply an ad-hoc data type Converter to this field expression.

      Rather than attaching data type converters at code generation time, or creating cumbersome expressions using DataType.asConvertedDataType(Converter), this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.

      Specified by:
      convert in interface Field<T>
      Specified by:
      convert in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Parameters:
      converter - The converter to be applied on any operations using this field.
      Returns:
      A derived field expression using a new converter.
    • convert

      public final <U> Field<U> convert(Class<U> toType, Function<? super T,? extends U> from, Function<? super U,? extends T> to)
      Description copied from interface: SelectField
      Apply an ad-hoc data type Converter to this field expression.

      Rather than attaching data type converters at code generation time, or creating cumbersome expressions using DataType.asConvertedDataType(Class, Function, Function), this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.

      Specified by:
      convert in interface Field<T>
      Specified by:
      convert in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Returns:
      A derived field expression using a new converter.
    • convertFrom

      public final <U> Field<U> convertFrom(Class<U> toType, Function<? super T,? extends U> from)
      Description copied from interface: SelectField
      Apply an ad-hoc read-only data type Converter to this field expression.

      Rather than attaching data type converters at code generation time, or creating cumbersome expressions using DataType.asConvertedDataTypeFrom(Class, Function), this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.

      Specified by:
      convertFrom in interface Field<T>
      Specified by:
      convertFrom in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Returns:
      A derived field expression using a new converter.
    • convertFrom

      public final <U> Field<U> convertFrom(Function<? super T,? extends U> from)
      Description copied from interface: SelectField
      Apply an ad-hoc read-only data type Converter to this field expression.

      Rather than attaching data type converters at code generation time, or creating cumbersome expressions using DataType.asConvertedDataTypeFrom(Class, Function), this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.

      Unlike SelectField.convertFrom(Class, Function), this method attempts to work without an explicit Class reference for the underlying Converter.toType(). There may be some edge cases where this doesn't work, e.g. when nesting rows in arrays, the class literal is required for reflective array creation.

      Specified by:
      convertFrom in interface Field<T>
      Specified by:
      convertFrom in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Returns:
      A derived field expression using a new converter.
    • convertTo

      public final <U> Field<U> convertTo(Class<U> toType, Function<? super U,? extends T> to)
      Description copied from interface: SelectField
      Apply an ad-hoc write-only data type Converter to this field expression.

      Rather than attaching data type converters at code generation time, or creating cumbersome expressions using DataType.asConvertedDataTypeTo(Class, Function), this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.

      Specified by:
      convertTo in interface Field<T>
      Specified by:
      convertTo in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Returns:
      A derived field expression using a new converter.
    • convertTo

      public final <U> Field<U> convertTo(Function<? super U,? extends T> to)
      Description copied from interface: SelectField
      Apply an ad-hoc write-only data type Converter to this field expression.

      Rather than attaching data type converters at code generation time, or creating cumbersome expressions using DataType.asConvertedDataTypeTo(Class, Function), this method allows for creating a derived field expression with an ad-hoc data type converter for single query usage.

      Unlike SelectField.convertTo(Class, Function), this method attempts to work without an explicit Class reference for the underlying Converter.toType(). There may be some edge cases where this doesn't work, e.g. when nesting rows in arrays, the class literal is required for reflective array creation.

      Specified by:
      convertTo in interface Field<T>
      Specified by:
      convertTo in interface SelectField<T>
      Type Parameters:
      U - The user type.
      Returns:
      A derived field expression using a new converter.
    • as

      public final Field<T> as(String alias)
      Description copied from interface: SelectField
      Create an alias for this field.

      Note that the case-sensitivity of the returned field depends on Settings.getRenderQuotedNames(). By default, field aliases are quoted, and thus case-sensitive in many SQL dialects!

      Specified by:
      as in interface Field<T>
      Specified by:
      as in interface SelectField<T>
      Parameters:
      alias - The alias name
      Returns:
      The field alias
    • as

      public final Field<T> as(Field<?> otherField)
      Description copied from interface: SelectField
      Create an alias for this field based on another field's name.
      Specified by:
      as in interface Field<T>
      Specified by:
      as in interface SelectField<T>
      Parameters:
      otherField - The other field whose name this field is aliased with.
      Returns:
      The field alias.
    • as

      public final Field<T> as(Function<? super Field<T>,? extends String> aliasFunction)
      Description copied from interface: Field
      Create an alias for this field.

      Note that the case-sensitivity of the returned field depends on Settings.getRenderQuotedNames(). By default, field aliases are quoted, and thus case-sensitive in many SQL dialects!

      This works like Field.as(String), except that field aliases are provided by a function. This is useful, for instance, to prefix all columns with a common prefix (on Table.as(String, Function)):

      
       MY_TABLE.as("t1", f -> "prefix_" + f.getName());
       

      And then to use the same function also for individual fields:

      
       MY_TABLE.MY_COLUMN.as(f -> "prefix_" + f.getName());
       
      Specified by:
      as in interface Field<T>
    • comment

      public final Field<T> comment(String comment)
      Description copied from interface: Field
      Attach a Comment to this field, for use in DDL statements, such as DSLContext.createTable(Table).
      Specified by:
      comment in interface Field<T>
    • comment

      public final Field<T> comment(Comment comment)
      Description copied from interface: Field
      Attach a Comment to this field, for use in DDL statements, such as DSLContext.createTable(Table).
      Specified by:
      comment in interface Field<T>
    • cast

      public final <Z> Field<Z> cast(Field<Z> field)
      Description copied from interface: Field
      Cast this field to the type of another field.

      Casting converts expressions between data types directly in SQL using SQL CAST expressions or similar. If you want to convert data types only in jOOQ without any effect on generated SQL, you can use Field.coerce(Field) instead.

      Specified by:
      cast in interface Field<T>
      Type Parameters:
      Z - The generic type of the cast field
      Parameters:
      field - The field whose type is used for the cast
      Returns:
      The cast field
      See Also:
    • cast

      public final <Z> Field<Z> cast(DataType<Z> type)
      Description copied from interface: Field
      Cast this field to a dialect-specific data type.

      Casting converts expressions between data types directly in SQL using SQL CAST expressions or similar. If you want to convert data types only in jOOQ without any effect on generated SQL, you can use Field.coerce(DataType) instead.

      Specified by:
      cast in interface Field<T>
      Type Parameters:
      Z - The generic type of the cast field
      Parameters:
      type - The data type that is used for the cast
      Returns:
      The cast field
    • cast

      public final <Z> Field<Z> cast(Class<Z> type)
      Description copied from interface: Field
      Cast this field to another type.

      Casting converts expressions between data types directly in SQL using SQL CAST expressions or similar. If you want to convert data types only in jOOQ without any effect on generated SQL, you can use Field.coerce(Class) instead.

      The actual cast may not be accurate as the DataType has to be "guessed" from the jOOQ-configured data types. Use Field.cast(DataType) for more accurate casts.

      NOTE [#15286]: It is strongly recommended to pass only Class references of types supported by jOOQ internally, i.e. types from SQLDataType. If you're using any custom data types by means of a Converter or Binding, it's better to pass that converted DataType reference explicitly to Field.cast(DataType).

      Specified by:
      cast in interface Field<T>
      Type Parameters:
      Z - The generic type of the cast field
      Parameters:
      type - The type that is used for the cast
      Returns:
      The cast field
      See Also:
    • coerce

      public final <Z> Field<Z> coerce(Field<Z> field)
      Description copied from interface: Field
      Coerce this field to the type of another field.

      Unlike with Field.cast(Field), coercing doesn't affect the way the database sees a Field's type. This is how coercing affects your SQL:

      Bind values

       
       // This binds an int value to a JDBC PreparedStatement,
       // where a String is expected
       DSL.val(1).coerce(VARCHAR);
      
       // This binds an int value to a JDBC PreparedStatement
       // and casts it to VARCHAR in SQL
       DSL.val(1).cast(VARCHAR);
       
       

      Other Field types

       
       // This fetches a String value for the BOOK.ID field from JDBC
       BOOK.ID.coerce(VARCHAR);
      
       // This fetches a String value for the BOOK.ID field from JDBC
       // after casting it to VARCHAR in the database
       BOOK.ID.cast(VARCHAR);
       
       
      Specified by:
      coerce in interface Field<T>
      Type Parameters:
      Z - The generic type of the coerced field
      Parameters:
      field - The field whose type is used for the coercion
      Returns:
      The coerced field
      See Also:
    • coerce

      public final <Z> Field<Z> coerce(DataType<Z> type)
      Description copied from interface: Field
      Coerce this field to a dialect-specific data type.

      Unlike with Field.cast(DataType), coercing doesn't affect the way the database sees a Field's type. This is how coercing affects your SQL:

      Bind values

       
       // This binds an int value to a JDBC PreparedStatement,
       // where a String is expected
       DSL.val(1).coerce(VARCHAR);
      
       // This binds an int value to a JDBC PreparedStatement
       // and casts it to VARCHAR in SQL
       DSL.val(1).cast(VARCHAR);
       
       

      Other Field types

       
       // This fetches a String value for the BOOK.ID field from JDBC
       BOOK.ID.coerce(VARCHAR);
      
       // This fetches a String value for the BOOK.ID field from JDBC
       // after casting it to VARCHAR in the database
       BOOK.ID.cast(VARCHAR);
       
       
      Specified by:
      coerce in interface Field<T>
      Type Parameters:
      Z - The generic type of the coerced field
      Parameters:
      type - The data type that is used for the coercion
      Returns:
      The coerced field
      See Also:
    • coerce

      public final <Z> Field<Z> coerce(Class<Z> type)
      Description copied from interface: Field
      Coerce this field to another type.

      Unlike with Field.cast(Class), coercing doesn't affect the way the database sees a Field's type. This is how coercing affects your SQL:

      Bind values

       
       // This binds an int value to a JDBC PreparedStatement,
       // where a String is expected
       DSL.val(1).coerce(VARCHAR);
      
       // This binds an int value to a JDBC PreparedStatement
       // and casts it to VARCHAR in SQL
       DSL.val(1).cast(VARCHAR);
       
       

      Other Field types

       
       // This fetches a String value for the BOOK.ID field from JDBC
       BOOK.ID.coerce(VARCHAR);
      
       // This fetches a String value for the BOOK.ID field from JDBC
       // after casting it to VARCHAR in the database
       BOOK.ID.cast(VARCHAR);
       
       

      NOTE [#15286]: It is strongly recommended to pass only Class references of types supported by jOOQ internally, i.e. types from SQLDataType. If you're using any custom data types by means of a Converter or Binding, it's better to pass that converted DataType reference explicitly to Field.coerce(DataType).

      Specified by:
      coerce in interface Field<T>
      Type Parameters:
      Z - The generic type of the coerced field
      Parameters:
      type - The type that is used for the coercion
      Returns:
      The coerced field
      See Also:
    • asc

      public final SortField<T> asc()
      Description copied from interface: Field
      Create an ascending sort field from this field.

      This is the same as calling Field.sort(SortOrder) with SortOrder.ASC

      Specified by:
      asc in interface Field<T>
      Returns:
      This field as an ascending sort field
    • desc

      public final SortField<T> desc()
      Description copied from interface: Field
      Create a descending sort field from this field.

      This is the same as calling Field.sort(SortOrder) with SortOrder.DESC

      Specified by:
      desc in interface Field<T>
      Returns:
      This field as a descending sort field
    • sortDefault

      public final SortField<T> sortDefault()
      Description copied from interface: Field
      Create a default sorted (implicit ASC) from this field.

      This is the same as calling Field.sort(SortOrder) with SortOrder.DEFAULT

      Specified by:
      sortDefault in interface Field<T>
      Returns:
      This field as a default sorted sort field
    • sort

      public final SortField<T> sort(SortOrder order)
      Description copied from interface: Field
      Create an ascending/descending sort field from this field.
      Specified by:
      sort in interface Field<T>
      Parameters:
      order - The sort order
      Returns:
      This field as an ascending/descending sort field.
    • sortAsc

      public final SortField<Integer> sortAsc(Collection<T> sortList)
      Description copied from interface: Field
      Create an indirected sort field.

      Create a sort field of the form

      
       CASE [this] WHEN [sortList.get(0)] THEN 0
                   WHEN [sortList.get(1)] THEN 1
                   ...
                   WHEN [sortList.get(n)] THEN n
                                          ELSE null
       END ASC
       

      Note: You can use this in combination with SortField.nullsFirst() or SortField.nullsLast() to specify whether the default should have highest or lowest priority.

      Specified by:
      sortAsc in interface Field<T>
      Parameters:
      sortList - The list containing sort value preferences
      Returns:
      The sort field
    • sortAsc

      @SafeVarargs public final SortField<Integer> sortAsc(T... sortList)
      Description copied from interface: Field
      Create an indirected sort field.

      Create a sort field of the form

      
       CASE [this] WHEN [sortList[0]] THEN 0
                   WHEN [sortList[1]] THEN 1
                   ...
                   WHEN [sortList[n]] THEN n
                                      ELSE null
       END ASC
       

      Note: You can use this in combination with SortField.nullsFirst() or SortField.nullsLast() to specify whether the default should have highest or lowest priority.

      Specified by:
      sortAsc in interface Field<T>
      Parameters:
      sortList - The list containing sort value preferences
      Returns:
      The sort field
    • sortDesc

      public final SortField<Integer> sortDesc(Collection<T> sortList)
      Description copied from interface: Field
      Create an indirected sort field.

      Create a sort field of the form

      
       CASE [this] WHEN [sortList.get(0)] THEN 0
                   WHEN [sortList.get(1)] THEN 1
                   ...
                   WHEN [sortList.get(n)] THEN n
                                          ELSE null
       END DESC
       

      Note: You can use this in combination with SortField.nullsFirst() or SortField.nullsLast() to specify whether the default should have highest or lowest priority.

      Specified by:
      sortDesc in interface Field<T>
      Parameters:
      sortList - The list containing sort value preferences
      Returns:
      The sort field
    • sortDesc

      @SafeVarargs public final SortField<Integer> sortDesc(T... sortList)
      Description copied from interface: Field
      Create an indirected sort field.

      Create a sort field of the form

      
       CASE [this] WHEN [sortList[0]] THEN 0
                   WHEN [sortList[1]] THEN 1
                   ...
                   WHEN [sortList[n]] THEN n
                                          ELSE null
       END DESC
       

      Note: You can use this in combination with SortField.nullsFirst() or SortField.nullsLast() to specify whether the default should have highest or lowest priority.

      Specified by:
      sortDesc in interface Field<T>
      Parameters:
      sortList - The list containing sort value preferences
      Returns:
      The sort field
    • sort

      public final <Z> SortField<Z> sort(Map<T,Z> sortMap)
      Description copied from interface: Field
      Create an indirected sort field.

      Create a sort field of the form (in pseudo code)

      
       CASE [this] WHEN [sortMap.key(0)] THEN sortMap.value(0)
                   WHEN [sortMap.key(1)] THEN sortMap.value(1)
                   ...
                   WHEN [sortMap.key(n)] THEN sortMap.value(n)
                                         ELSE null
       END DESC
       

      Note: You can use this in combination with SortField.nullsFirst() or SortField.nullsLast() to specify whether the default should have highest or lowest priority.

      Specified by:
      sort in interface Field<T>
      Parameters:
      sortMap - The list containing sort value preferences
      Returns:
      The sort field
    • nullsFirst

      public final SortField<T> nullsFirst()
      Description copied from interface: Field
      Convenience method for Field.sortDefault() and then SortField.nullsFirst().
      Specified by:
      nullsFirst in interface Field<T>
    • nullsLast

      public final SortField<T> nullsLast()
      Description copied from interface: Field
      Convenience method for Field.sortDefault() and then SortField.nullsLast().
      Specified by:
      nullsLast in interface Field<T>
    • eq

      public final Condition eq(T arg2)
      Description copied from interface: Field
      The EQ operator.
      Specified by:
      eq in interface Field<T>
    • eq

      public final Condition eq(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The EQ operator.
      Specified by:
      eq in interface Field<T>
    • eq

      public final Condition eq(Field<T> arg2)
      Description copied from interface: Field
      The EQ operator.
      Specified by:
      eq in interface Field<T>
    • eq

      public final Condition eq(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The EQ operator.
      Specified by:
      eq in interface Field<T>
    • equal

      public final Condition equal(T arg2)
      Description copied from interface: Field
      The EQUAL operator, an alias for the EQ operator.
      Specified by:
      equal in interface Field<T>
    • equal

      public final Condition equal(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The EQUAL operator, an alias for the EQ operator.
      Specified by:
      equal in interface Field<T>
    • equal

      public final Condition equal(Field<T> arg2)
      Description copied from interface: Field
      The EQUAL operator, an alias for the EQ operator.
      Specified by:
      equal in interface Field<T>
    • equal

      public final Condition equal(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The EQUAL operator, an alias for the EQ operator.
      Specified by:
      equal in interface Field<T>
    • ge

      public final Condition ge(T arg2)
      Description copied from interface: Field
      The GE operator.
      Specified by:
      ge in interface Field<T>
    • ge

      public final Condition ge(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GE operator.
      Specified by:
      ge in interface Field<T>
    • ge

      public final Condition ge(Field<T> arg2)
      Description copied from interface: Field
      The GE operator.
      Specified by:
      ge in interface Field<T>
    • ge

      public final Condition ge(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GE operator.
      Specified by:
      ge in interface Field<T>
    • greaterOrEqual

      public final Condition greaterOrEqual(T arg2)
      Description copied from interface: Field
      The GREATER_OR_EQUAL operator, an alias for the GE operator.
      Specified by:
      greaterOrEqual in interface Field<T>
    • greaterOrEqual

      public final Condition greaterOrEqual(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GREATER_OR_EQUAL operator, an alias for the GE operator.
      Specified by:
      greaterOrEqual in interface Field<T>
    • greaterOrEqual

      public final Condition greaterOrEqual(Field<T> arg2)
      Description copied from interface: Field
      The GREATER_OR_EQUAL operator, an alias for the GE operator.
      Specified by:
      greaterOrEqual in interface Field<T>
    • greaterOrEqual

      public final Condition greaterOrEqual(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GREATER_OR_EQUAL operator, an alias for the GE operator.
      Specified by:
      greaterOrEqual in interface Field<T>
    • greaterThan

      public final Condition greaterThan(T arg2)
      Description copied from interface: Field
      The GREATER_THAN operator, an alias for the GT operator.
      Specified by:
      greaterThan in interface Field<T>
    • greaterThan

      public final Condition greaterThan(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GREATER_THAN operator, an alias for the GT operator.
      Specified by:
      greaterThan in interface Field<T>
    • greaterThan

      public final Condition greaterThan(Field<T> arg2)
      Description copied from interface: Field
      The GREATER_THAN operator, an alias for the GT operator.
      Specified by:
      greaterThan in interface Field<T>
    • greaterThan

      public final Condition greaterThan(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GREATER_THAN operator, an alias for the GT operator.
      Specified by:
      greaterThan in interface Field<T>
    • gt

      public final Condition gt(T arg2)
      Description copied from interface: Field
      The GT operator.
      Specified by:
      gt in interface Field<T>
    • gt

      public final Condition gt(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GT operator.
      Specified by:
      gt in interface Field<T>
    • gt

      public final Condition gt(Field<T> arg2)
      Description copied from interface: Field
      The GT operator.
      Specified by:
      gt in interface Field<T>
    • gt

      public final Condition gt(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The GT operator.
      Specified by:
      gt in interface Field<T>
    • in

      public final Condition in(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The IN operator.

      The subquery must return exactly one field. This is not checked by jOOQ and will result in syntax errors in the database, if not used correctly.

      Specified by:
      in in interface Field<T>
    • isDistinctFrom

      public final Condition isDistinctFrom(T arg2)
      Description copied from interface: Field
      The IS_DISTINCT_FROM operator.

      The DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for non-equality

      Specified by:
      isDistinctFrom in interface Field<T>
    • isDistinctFrom

      public final Condition isDistinctFrom(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The IS_DISTINCT_FROM operator.

      The DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for non-equality

      Specified by:
      isDistinctFrom in interface Field<T>
    • isDistinctFrom

      public final Condition isDistinctFrom(Field<T> arg2)
      Description copied from interface: Field
      The IS_DISTINCT_FROM operator.

      The DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for non-equality

      Specified by:
      isDistinctFrom in interface Field<T>
    • isNull

      public final Condition isNull()
      Description copied from interface: Field
      The IS_NULL operator.
      Specified by:
      isNull in interface Field<T>
    • isNotDistinctFrom

      public final Condition isNotDistinctFrom(T arg2)
      Description copied from interface: Field
      The IS_NOT_DISTINCT_FROM operator.

      The NOT DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for equality

      Specified by:
      isNotDistinctFrom in interface Field<T>
    • isNotDistinctFrom

      public final Condition isNotDistinctFrom(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The IS_NOT_DISTINCT_FROM operator.

      The NOT DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for equality

      Specified by:
      isNotDistinctFrom in interface Field<T>
    • isNotDistinctFrom

      public final Condition isNotDistinctFrom(Field<T> arg2)
      Description copied from interface: Field
      The IS_NOT_DISTINCT_FROM operator.

      The NOT DISTINCT predicate allows for creating NULL safe comparisons where the two operands are tested for equality

      Specified by:
      isNotDistinctFrom in interface Field<T>
    • isNotNull

      public final Condition isNotNull()
      Description copied from interface: Field
      The IS_NOT_NULL operator.
      Specified by:
      isNotNull in interface Field<T>
    • le

      public final Condition le(T arg2)
      Description copied from interface: Field
      The LE operator.
      Specified by:
      le in interface Field<T>
    • le

      public final Condition le(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LE operator.
      Specified by:
      le in interface Field<T>
    • le

      public final Condition le(Field<T> arg2)
      Description copied from interface: Field
      The LE operator.
      Specified by:
      le in interface Field<T>
    • le

      public final Condition le(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LE operator.
      Specified by:
      le in interface Field<T>
    • lessOrEqual

      public final Condition lessOrEqual(T arg2)
      Description copied from interface: Field
      The LESS_OR_EQUAL operator, an alias for the LE operator.
      Specified by:
      lessOrEqual in interface Field<T>
    • lessOrEqual

      public final Condition lessOrEqual(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LESS_OR_EQUAL operator, an alias for the LE operator.
      Specified by:
      lessOrEqual in interface Field<T>
    • lessOrEqual

      public final Condition lessOrEqual(Field<T> arg2)
      Description copied from interface: Field
      The LESS_OR_EQUAL operator, an alias for the LE operator.
      Specified by:
      lessOrEqual in interface Field<T>
    • lessOrEqual

      public final Condition lessOrEqual(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LESS_OR_EQUAL operator, an alias for the LE operator.
      Specified by:
      lessOrEqual in interface Field<T>
    • lessThan

      public final Condition lessThan(T arg2)
      Description copied from interface: Field
      The LESS_THAN operator, an alias for the LT operator.
      Specified by:
      lessThan in interface Field<T>
    • lessThan

      public final Condition lessThan(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LESS_THAN operator, an alias for the LT operator.
      Specified by:
      lessThan in interface Field<T>
    • lessThan

      public final Condition lessThan(Field<T> arg2)
      Description copied from interface: Field
      The LESS_THAN operator, an alias for the LT operator.
      Specified by:
      lessThan in interface Field<T>
    • lessThan

      public final Condition lessThan(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LESS_THAN operator, an alias for the LT operator.
      Specified by:
      lessThan in interface Field<T>
    • like

      public final LikeEscapeStep like(String pattern)
      Description copied from interface: Field
      The LIKE operator.
      Specified by:
      like in interface Field<T>
      Parameters:
      pattern - is wrapped as DSL.val(Object).
    • like

      public final LikeEscapeStep like(Field<String> pattern)
      Description copied from interface: Field
      The LIKE operator.
      Specified by:
      like in interface Field<T>
    • like

      public final LikeEscapeStep like(QuantifiedSelect<? extends Record1<String>> pattern)
      Description copied from interface: Field
      The LIKE operator.
      Specified by:
      like in interface Field<T>
    • likeIgnoreCase

      public final LikeEscapeStep likeIgnoreCase(String pattern)
      Description copied from interface: Field
      The LIKE_IGNORE_CASE operator.

      Create a condition to case-insensitively pattern-check this field against a value.

      This translates to this ilike value in SQLDialect.POSTGRES, or to lower(this) like lower(value) in all other dialects.

      Specified by:
      likeIgnoreCase in interface Field<T>
      Parameters:
      pattern - is wrapped as DSL.val(Object).
    • likeIgnoreCase

      public final LikeEscapeStep likeIgnoreCase(Field<String> pattern)
      Description copied from interface: Field
      The LIKE_IGNORE_CASE operator.

      Create a condition to case-insensitively pattern-check this field against a value.

      This translates to this ilike value in SQLDialect.POSTGRES, or to lower(this) like lower(value) in all other dialects.

      Specified by:
      likeIgnoreCase in interface Field<T>
    • lt

      public final Condition lt(T arg2)
      Description copied from interface: Field
      The LT operator.
      Specified by:
      lt in interface Field<T>
    • lt

      public final Condition lt(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LT operator.
      Specified by:
      lt in interface Field<T>
    • lt

      public final Condition lt(Field<T> arg2)
      Description copied from interface: Field
      The LT operator.
      Specified by:
      lt in interface Field<T>
    • lt

      public final Condition lt(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The LT operator.
      Specified by:
      lt in interface Field<T>
    • ne

      public final Condition ne(T arg2)
      Description copied from interface: Field
      The NE operator.
      Specified by:
      ne in interface Field<T>
    • ne

      public final Condition ne(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The NE operator.
      Specified by:
      ne in interface Field<T>
    • ne

      public final Condition ne(Field<T> arg2)
      Description copied from interface: Field
      The NE operator.
      Specified by:
      ne in interface Field<T>
    • ne

      public final Condition ne(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The NE operator.
      Specified by:
      ne in interface Field<T>
    • notEqual

      public final Condition notEqual(T arg2)
      Description copied from interface: Field
      The NOT_EQUAL operator, an alias for the NE operator.
      Specified by:
      notEqual in interface Field<T>
    • notEqual

      public final Condition notEqual(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The NOT_EQUAL operator, an alias for the NE operator.
      Specified by:
      notEqual in interface Field<T>
    • notEqual

      public final Condition notEqual(Field<T> arg2)
      Description copied from interface: Field
      The NOT_EQUAL operator, an alias for the NE operator.
      Specified by:
      notEqual in interface Field<T>
    • notEqual

      public final Condition notEqual(QuantifiedSelect<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The NOT_EQUAL operator, an alias for the NE operator.
      Specified by:
      notEqual in interface Field<T>
    • notIn

      public final Condition notIn(Select<? extends Record1<T>> arg2)
      Description copied from interface: Field
      The NOT_IN operator.

      The subquery must return exactly one field. This is not checked by jOOQ and will result in syntax errors in the database, if not used correctly.

      If any of the passed values is NULL, then the condition will be NULL (or false, depending on the dialect) as well. This is standard SQL behaviour.

      Specified by:
      notIn in interface Field<T>
    • notLike

      public final LikeEscapeStep notLike(String pattern)
      Description copied from interface: Field
      The NOT_LIKE operator.
      Specified by:
      notLike in interface Field<T>
      Parameters:
      pattern - is wrapped as DSL.val(Object).
    • notLike

      public final LikeEscapeStep notLike(Field<String> pattern)
      Description copied from interface: Field
      The NOT_LIKE operator.
      Specified by:
      notLike in interface Field<T>
    • notLike

      public final LikeEscapeStep notLike(QuantifiedSelect<? extends Record1<String>> pattern)
      Description copied from interface: Field
      The NOT_LIKE operator.
      Specified by:
      notLike in interface Field<T>
    • notLikeIgnoreCase

      public final LikeEscapeStep notLikeIgnoreCase(String pattern)
      Description copied from interface: Field
      The NOT_LIKE_IGNORE_CASE operator.

      Create a condition to case-insensitively pattern-check this field against a value.

      This translates to this not ilike value in SQLDialect.POSTGRES, or to lower(this) not like lower(value) in all other dialects.

      Specified by:
      notLikeIgnoreCase in interface Field<T>
      Parameters:
      pattern - is wrapped as DSL.val(Object).
    • notLikeIgnoreCase

      public final LikeEscapeStep notLikeIgnoreCase(Field<String> pattern)
      Description copied from interface: Field
      The NOT_LIKE_IGNORE_CASE operator.

      Create a condition to case-insensitively pattern-check this field against a value.

      This translates to this not ilike value in SQLDialect.POSTGRES, or to lower(this) not like lower(value) in all other dialects.

      Specified by:
      notLikeIgnoreCase in interface Field<T>
    • notSimilarTo

      public final LikeEscapeStep notSimilarTo(String pattern)
      Description copied from interface: Field
      The NOT_SIMILAR_TO operator.
      Specified by:
      notSimilarTo in interface Field<T>
      Parameters:
      pattern - is wrapped as DSL.val(Object).
    • notSimilarTo

      public final LikeEscapeStep notSimilarTo(Field<String> pattern)
      Description copied from interface: Field
      The NOT_SIMILAR_TO operator.
      Specified by:
      notSimilarTo in interface Field<T>
    • notSimilarTo

      public final LikeEscapeStep notSimilarTo(QuantifiedSelect<? extends Record1<String>> pattern)
      Description copied from interface: Field
      The NOT_SIMILAR_TO operator.
      Specified by:
      notSimilarTo in interface Field<T>
    • similarTo

      public final LikeEscapeStep similarTo(String pattern)
      Description copied from interface: Field
      The SIMILAR_TO operator.
      Specified by:
      similarTo in interface Field<T>
      Parameters:
      pattern - is wrapped as DSL.val(Object).
    • similarTo

      public final LikeEscapeStep similarTo(Field<String> pattern)
      Description copied from interface: Field
      The SIMILAR_TO operator.
      Specified by:
      similarTo in interface Field<T>
    • similarTo

      public final LikeEscapeStep similarTo(QuantifiedSelect<? extends Record1<String>> pattern)
      Description copied from interface: Field
      The SIMILAR_TO operator.
      Specified by:
      similarTo in interface Field<T>
    • isDocument

      public final Condition isDocument()
      Description copied from interface: Field
      The IS_DOCUMENT operator.

      Create a condition to check if this field contains XML data.

      Specified by:
      isDocument in interface Field<T>
    • isNotDocument

      public final Condition isNotDocument()
      Description copied from interface: Field
      The IS_NOT_DOCUMENT operator.

      Create a condition to check if this field does not contain XML data.

      Specified by:
      isNotDocument in interface Field<T>
    • isJson

      public final Condition isJson()
      Description copied from interface: Field
      The IS_JSON operator.

      Create a condition to check if this field contains JSON data.

      Specified by:
      isJson in interface Field<T>
    • isNotJson

      public final Condition isNotJson()
      Description copied from interface: Field
      The IS_NOT_JSON operator.

      Create a condition to check if this field does not contain JSON data.

      Specified by:
      isNotJson in interface Field<T>
    • bitAnd

      public final Field<T> bitAnd(T arg2)
      Description copied from interface: Field
      The BIT_AND operator.
      Specified by:
      bitAnd in interface Field<T>
      Parameters:
      arg2 - is wrapped as DSL.val(Object).
    • bitAnd

      public final Field<T> bitAnd(Field<T> arg2)
      Description copied from interface: Field
      The BIT_AND operator.
      Specified by:
      bitAnd in interface Field<T>
    • bitNand

      public final Field<T> bitNand(T arg2)
      Description copied from interface: Field
      The BIT_NAND operator.
      Specified by:
      bitNand in interface Field<T>
      Parameters:
      arg2 - is wrapped as DSL.val(Object).
    • bitNand

      public final Field<T> bitNand(Field<T> arg2)
      Description copied from interface: Field
      The BIT_NAND operator.
      Specified by:
      bitNand in interface Field<T>
    • bitNor

      public final Field<T> bitNor(T arg2)
      Description copied from interface: Field
      The BIT_NOR operator.
      Specified by:
      bitNor in interface Field<T>
      Parameters:
      arg2 - is wrapped as DSL.val(Object).
    • bitNor

      public final Field<T> bitNor(Field<T> arg2)
      Description copied from interface: Field
      The BIT_NOR operator.
      Specified by:
      bitNor in interface Field<T>
    • bitNot

      public final Field<T> bitNot()
      Description copied from interface: Field
      The BIT_NOT operator.
      Specified by:
      bitNot in interface Field<T>
    • bitOr

      public final Field<T> bitOr(T arg2)
      Description copied from interface: Field
      The BIT_OR operator.
      Specified by:
      bitOr in interface Field<T>
      Parameters:
      arg2 - is wrapped as DSL.val(Object).
    • bitOr

      public final Field<T> bitOr(Field<T> arg2)
      Description copied from interface: Field
      The BIT_OR operator.
      Specified by:
      bitOr in interface Field<T>
    • bitXNor

      public final Field<T> bitXNor(T arg2)
      Description copied from interface: Field
      The BIT_XNOR operator.
      Specified by:
      bitXNor in interface Field<T>
      Parameters:
      arg2 - is wrapped as DSL.val(Object).
    • bitXNor

      public final Field<T> bitXNor(Field<T> arg2)
      Description copied from interface: Field
      The BIT_XNOR operator.
      Specified by:
      bitXNor in interface Field<T>
    • bitXor

      public final Field<T> bitXor(T arg2)
      Description copied from interface: Field
      The BIT_XOR operator.
      Specified by:
      bitXor in interface Field<T>
      Parameters:
      arg2 - is wrapped as DSL.val(Object).
    • bitXor

      public final Field<T> bitXor(Field<T> arg2)
      Description copied from interface: Field
      The BIT_XOR operator.
      Specified by:
      bitXor in interface Field<T>
    • mod

      public final Field<T> mod(Number divisor)
      Description copied from interface: Field
      The MOD operator.
      Specified by:
      mod in interface Field<T>
      Parameters:
      divisor - is wrapped as DSL.val(Object).
    • mod

      public final Field<T> mod(Field<? extends Number> divisor)
      Description copied from interface: Field
      The MOD operator.
      Specified by:
      mod in interface Field<T>
    • modulo

      public final Field<T> modulo(Number divisor)
      Description copied from interface: Field
      The MODULO operator, an alias for the MOD operator.
      Specified by:
      modulo in interface Field<T>
      Parameters:
      divisor - is wrapped as DSL.val(Object).
    • modulo

      public final Field<T> modulo(Field<? extends Number> divisor)
      Description copied from interface: Field
      The MODULO operator, an alias for the MOD operator.
      Specified by:
      modulo in interface Field<T>
    • rem

      public final Field<T> rem(Number divisor)
      Description copied from interface: Field
      The REM operator, an alias for the MOD operator.
      Specified by:
      rem in interface Field<T>
      Parameters:
      divisor - is wrapped as DSL.val(Object).
    • rem

      public final Field<T> rem(Field<? extends Number> divisor)
      Description copied from interface: Field
      The REM operator, an alias for the MOD operator.
      Specified by:
      rem in interface Field<T>
    • power

      public final Field<BigDecimal> power(Number exponent)
      Description copied from interface: Field
      The POWER operator.
      Specified by:
      power in interface Field<T>
      Parameters:
      exponent - is wrapped as DSL.val(Object).
    • power

      public final Field<BigDecimal> power(Field<? extends Number> exponent)
      Description copied from interface: Field
      The POWER operator.
      Specified by:
      power in interface Field<T>
    • pow

      public final Field<BigDecimal> pow(Number exponent)
      Description copied from interface: Field
      The POW operator, an alias for the POWER operator.
      Specified by:
      pow in interface Field<T>
      Parameters:
      exponent - is wrapped as DSL.val(Object).
    • pow

      public final Field<BigDecimal> pow(Field<? extends Number> exponent)
      Description copied from interface: Field
      The POW operator, an alias for the POWER operator.
      Specified by:
      pow in interface Field<T>
    • shl

      public final Field<T> shl(Number count)
      Description copied from interface: Field
      The SHL operator.

      Left shift all bits in a number

      Specified by:
      shl in interface Field<T>
      Parameters:
      count - The number of bits to shift.
    • shl

      public final Field<T> shl(Field<? extends Number> count)
      Description copied from interface: Field
      The SHL operator.

      Left shift all bits in a number

      Specified by:
      shl in interface Field<T>
      Parameters:
      count - The number of bits to shift.
    • shr

      public final Field<T> shr(Number count)
      Description copied from interface: Field
      The SHR operator.

      Right shift all bits in a number

      Specified by:
      shr in interface Field<T>
      Parameters:
      count - The number of bits to shift.
    • shr

      public final Field<T> shr(Field<? extends Number> count)
      Description copied from interface: Field
      The SHR operator.

      Right shift all bits in a number

      Specified by:
      shr in interface Field<T>
      Parameters:
      count - The number of bits to shift.
    • contains

      public final Condition contains(T content)
      Description copied from interface: Field
      The CONTAINS operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: this like ('%' || escape(value, '\') || '%') escape '\'

      Note: This also works with numbers, for instance val(1133).contains(13)

      If you're using SQLDialect.POSTGRES, then you can use this method also to express the "ARRAY contains" operator. For example:

      
       // Use this expression
       val(new Integer[] { 1, 2, 3 }).contains(new Integer[] { 1, 2 })
      
       // ... to render this SQL
       ARRAY[1, 2, 3] @> ARRAY[1, 2]
       

      Note, this does not correspond to the Oracle Text CONTAINS() function. Refer to OracleDSL.contains(Field, String) instead.

      Specified by:
      contains in interface Field<T>
      Parameters:
      content - is wrapped as DSL.val(Object).
    • contains

      public final Condition contains(Field<T> content)
      Description copied from interface: Field
      The CONTAINS operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: this like ('%' || escape(value, '\') || '%') escape '\'

      Note: This also works with numbers, for instance val(1133).contains(13)

      If you're using SQLDialect.POSTGRES, then you can use this method also to express the "ARRAY contains" operator. For example:

      
       // Use this expression
       val(new Integer[] { 1, 2, 3 }).contains(new Integer[] { 1, 2 })
      
       // ... to render this SQL
       ARRAY[1, 2, 3] @> ARRAY[1, 2]
       

      Note, this does not correspond to the Oracle Text CONTAINS() function. Refer to OracleDSL.contains(Field, String) instead.

      Specified by:
      contains in interface Field<T>
    • containsIgnoreCase

      public final Condition containsIgnoreCase(T content)
      Description copied from interface: Field
      The CONTAINS_IGNORE_CASE operator.

      Convenience method for Field.likeIgnoreCase(String, char) including proper adding of wildcards and escaping.

      This translates to this ilike ('%' || escape(value, '\') || '%') escape '\' in SQLDialect.POSTGRES, or to lower(this) like lower(('%' || escape(value, '\') || '%') escape '\') in all other dialects.

      Specified by:
      containsIgnoreCase in interface Field<T>
      Parameters:
      content - is wrapped as DSL.val(Object).
    • containsIgnoreCase

      public final Condition containsIgnoreCase(Field<T> content)
      Description copied from interface: Field
      The CONTAINS_IGNORE_CASE operator.

      Convenience method for Field.likeIgnoreCase(String, char) including proper adding of wildcards and escaping.

      This translates to this ilike ('%' || escape(value, '\') || '%') escape '\' in SQLDialect.POSTGRES, or to lower(this) like lower(('%' || escape(value, '\') || '%') escape '\') in all other dialects.

      Specified by:
      containsIgnoreCase in interface Field<T>
    • endsWith

      public final Condition endsWith(T suffix)
      Description copied from interface: Field
      The ENDS_WITH operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: this like ('%' || escape(value, '\')) escape '\'

      Note: This also works with numbers, for instance val(1133).endsWith(33)

      Specified by:
      endsWith in interface Field<T>
      Parameters:
      suffix - is wrapped as DSL.val(Object).
    • endsWith

      public final Condition endsWith(Field<T> suffix)
      Description copied from interface: Field
      The ENDS_WITH operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: this like ('%' || escape(value, '\')) escape '\'

      Note: This also works with numbers, for instance val(1133).endsWith(33)

      Specified by:
      endsWith in interface Field<T>
    • endsWithIgnoreCase

      public final Condition endsWithIgnoreCase(T suffix)
      Description copied from interface: Field
      The ENDS_WITH_IGNORE_CASE operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: lower(this) like ('%' || lower(escape(value, '\'))) escape '\'

      Note: This also works with numbers, for instance val(1133).endsWithIgnoreCase(33)

      Specified by:
      endsWithIgnoreCase in interface Field<T>
      Parameters:
      suffix - is wrapped as DSL.val(Object).
    • endsWithIgnoreCase

      public final Condition endsWithIgnoreCase(Field<T> suffix)
      Description copied from interface: Field
      The ENDS_WITH_IGNORE_CASE operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: lower(this) like ('%' || lower(escape(value, '\'))) escape '\'

      Note: This also works with numbers, for instance val(1133).endsWithIgnoreCase(33)

      Specified by:
      endsWithIgnoreCase in interface Field<T>
    • startsWith

      public final Condition startsWith(T prefix)
      Description copied from interface: Field
      The STARTS_WITH operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: this like (escape(value, '\') || '%') escape '\'

      Note: This also works with numbers, for instance val(1133).startsWith(11)

      Specified by:
      startsWith in interface Field<T>
      Parameters:
      prefix - is wrapped as DSL.val(Object).
    • startsWith

      public final Condition startsWith(Field<T> prefix)
      Description copied from interface: Field
      The STARTS_WITH operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: this like (escape(value, '\') || '%') escape '\'

      Note: This also works with numbers, for instance val(1133).startsWith(11)

      Specified by:
      startsWith in interface Field<T>
    • startsWithIgnoreCase

      public final Condition startsWithIgnoreCase(T prefix)
      Description copied from interface: Field
      The STARTS_WITH_IGNORE_CASE operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: lower(this) like (lower(escape(value, '\')) || '%') escape '\'

      Note: This also works with numbers, for instance val(1133).startsWithIgnoreCase(11)

      Specified by:
      startsWithIgnoreCase in interface Field<T>
      Parameters:
      prefix - is wrapped as DSL.val(Object).
    • startsWithIgnoreCase

      public final Condition startsWithIgnoreCase(Field<T> prefix)
      Description copied from interface: Field
      The STARTS_WITH_IGNORE_CASE operator.

      Convenience method for Field.like(String, char) including proper adding of wildcards and escaping.

      SQL: lower(this) like (lower(escape(value, '\')) || '%') escape '\'

      Note: This also works with numbers, for instance val(1133).startsWithIgnoreCase(11)

      Specified by:
      startsWithIgnoreCase in interface Field<T>
    • plus

      @Pro public final Field<T> plus()
      Description copied from interface: Field
      The PLUS operator.

      Turn this field into an Oracle-specific field for use in outer-join predicates. It can be emulated using Settings.isTransformTableListsToAnsiJoin().

      Example:

      
       TABLE1.COL.plus().eq(TABLE2.COL);
       TABLE1.COL.eq(TABLE2.COL.plus());
       

      The above will generate

      
       TABLE1.COL(+) = TABLE2.COL
       TABLE1.COL = TABLE2.COL(+)
       
      Specified by:
      plus in interface Field<T>
    • neg

      public final Field<T> neg()
      Description copied from interface: Field
      Negate this field to get its negative value.

      This renders the same on all dialects:

      -[this]
      Specified by:
      neg in interface Field<T>
    • unaryMinus

      public final Field<T> unaryMinus()
      Description copied from interface: Field
      Negate this field to get its negative value.

      This is an alias for Field.neg(), which can be recognised by the Kotlin language for operator overloading.

      Specified by:
      unaryMinus in interface Field<T>
    • unaryPlus

      public final Field<T> unaryPlus()
      Description copied from interface: Field
      Get this field as its positive value (no effect on SQL).

      This can be recognised by the Kotlin language for operator overloading.

      Specified by:
      unaryPlus in interface Field<T>
    • add

      public final Field<T> add(Number value)
      Description copied from interface: Field
      An arithmetic expression adding this to value.
      Specified by:
      add in interface Field<T>
      See Also:
    • add

      public final Field<T> add(Field<?> value)
      Description copied from interface: Field
      An arithmetic expression to add value to this.

      The behaviour of this operation is as follows:

      Operand 1 Operand 2 Result Type
      Numeric Numeric Numeric
      Date / Time Numeric Date / Time
      Date / Time Interval Date / Time
      Interval Interval Interval
      Specified by:
      add in interface Field<T>
    • sub

      public final Field<T> sub(Number value)
      Description copied from interface: Field
      An arithmetic expression subtracting value from this.
      Specified by:
      sub in interface Field<T>
      See Also:
    • sub

      public final Field<T> sub(Field<?> value)
      Description copied from interface: Field
      An arithmetic expression subtracting value from this.

      Operand 1 Operand 2 Result Type
      Numeric Numeric Numeric
      Date / Time Numeric Date / Time
      Date / Time Interval Date / Time
      Interval Interval Interval

      In order to subtract one date time field from another, use any of these methods:

      Specified by:
      sub in interface Field<T>
    • mul

      public final Field<T> mul(Number value)
      Description copied from interface: Field
      An arithmetic expression multiplying this with value.

      • If this is a numeric field, then the result is a number of the same type as this field.
      • If this is an INTERVAL field, then the result is also an INTERVAL field (see Interval)
      Specified by:
      mul in interface Field<T>
    • mul

      public final Field<T> mul(Field<? extends Number> value)
      Description copied from interface: Field
      An arithmetic expression multiplying this with value.

      • If this is a numeric field, then the result is a number of the same type as this field.
      • If this is an INTERVAL field, then the result is also an INTERVAL field (see Interval)
      Specified by:
      mul in interface Field<T>
    • div

      public final Field<T> div(Number value)
      Description copied from interface: Field
      An arithmetic expression dividing this by value.

      • If this is a numeric field, then the result is a number of the same type as this field.
      • If this is an INTERVAL field, then the result is also an INTERVAL field (see Interval)
      Specified by:
      div in interface Field<T>
    • div

      public final Field<T> div(Field<? extends Number> value)
      Description copied from interface: Field
      An arithmetic expression dividing this by value.

      • If this is a numeric field, then the result is a number of the same type as this field.
      • If this is an INTERVAL field, then the result is also an INTERVAL field (see Interval)
      Specified by:
      div in interface Field<T>
    • plus

      public final Field<T> plus(Number value)
      Description copied from interface: Field
      An alias for Field.add(Number).
      Specified by:
      plus in interface Field<T>
      See Also:
    • plus

      public final Field<T> plus(Field<?> value)
      Description copied from interface: Field
      An alias for Field.add(Field).
      Specified by:
      plus in interface Field<T>
      See Also:
    • subtract

      public final Field<T> subtract(Number value)
      Description copied from interface: Field
      An alias for Field.sub(Number).
      Specified by:
      subtract in interface Field<T>
      See Also:
    • subtract

      public final Field<T> subtract(Field<?> value)
      Description copied from interface: Field
      An alias for Field.sub(Field).
      Specified by:
      subtract in interface Field<T>
      See Also:
    • minus

      public final Field<T> minus(Number value)
      Description copied from interface: Field
      An alias for Field.sub(Number).
      Specified by:
      minus in interface Field<T>
      See Also:
    • minus

      public final Field<T> minus(Field<?> value)
      Description copied from interface: Field
      An alias for Field.sub(Field).
      Specified by:
      minus in interface Field<T>
      See Also:
    • multiply

      public final Field<T> multiply(Number value)
      Description copied from interface: Field
      An alias for Field.mul(Number).
      Specified by:
      multiply in interface Field<T>
      See Also:
    • multiply

      public final Field<T> multiply(Field<? extends Number> value)
      Description copied from interface: Field
      An alias for Field.mul(Field).
      Specified by:
      multiply in interface Field<T>
      See Also:
    • times

      public final Field<T> times(Number value)
      Description copied from interface: Field
      An alias for Field.mul(Number).
      Specified by:
      times in interface Field<T>
      See Also:
    • times

      public final Field<T> times(Field<? extends Number> value)
      Description copied from interface: Field
      An alias for Field.mul(Field).
      Specified by:
      times in interface Field<T>
      See Also:
    • divide

      public final Field<T> divide(Number value)
      Description copied from interface: Field
      An alias for Field.div(Number).
      Specified by:
      divide in interface Field<T>
      See Also:
    • divide

      public final Field<T> divide(Field<? extends Number> value)
      Description copied from interface: Field
      An alias for Field.div(Field).
      Specified by:
      divide in interface Field<T>
      See Also:
    • isTrue

      public final Condition isTrue()
      Description copied from interface: Field
      Create a condition to check this field against known string literals for true.

      SQL: lcase(this) in ("1", "y", "yes", "true", "on", "enabled")

      Specified by:
      isTrue in interface Field<T>
    • isFalse

      public final Condition isFalse()
      Description copied from interface: Field
      Create a condition to check this field against known string literals for false.

      SQL: lcase(this) in ("0", "n", "no", "false", "off", "disabled")

      Specified by:
      isFalse in interface Field<T>
    • similarTo

      public final Condition similarTo(String value, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a value.

      SQL: this similar to value escape 'e'

      Specified by:
      similarTo in interface Field<T>
      See Also:
    • similarTo

      public final Condition similarTo(Field<String> field, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a value.

      SQL: this similar to value escape 'e'

      Specified by:
      similarTo in interface Field<T>
      See Also:
    • notSimilarTo

      public final Condition notSimilarTo(String value, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a value.

      SQL: this not similar to value escape 'e'

      Specified by:
      notSimilarTo in interface Field<T>
      See Also:
    • notSimilarTo

      public final Condition notSimilarTo(Field<String> field, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a field.

      SQL: this not similar to field escape 'e'

      Specified by:
      notSimilarTo in interface Field<T>
      See Also:
    • like

      public final Condition like(String value, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a value.

      SQL: this like value escape 'e'

      Specified by:
      like in interface Field<T>
      See Also:
    • like

      public final Condition like(Field<String> field, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a value.

      SQL: this like value escape 'e'

      Specified by:
      like in interface Field<T>
      See Also:
    • likeIgnoreCase

      public final Condition likeIgnoreCase(String value, char escape)
      Description copied from interface: Field
      Create a condition to case-insensitively pattern-check this field against a value.

      This translates to this ilike value in SQLDialect.POSTGRES, or to lower(this) like lower(value) in all other dialects.

      Specified by:
      likeIgnoreCase in interface Field<T>
      See Also:
    • likeIgnoreCase

      public final Condition likeIgnoreCase(Field<String> field, char escape)
      Description copied from interface: Field
      Create a condition to case-insensitively pattern-check this field against a field.

      This translates to this ilike field in SQLDialect.POSTGRES, or to lower(this) like lower(field) in all other dialects.

      Specified by:
      likeIgnoreCase in interface Field<T>
      See Also:
    • likeRegex

      public final Condition likeRegex(String pattern)
      Description copied from interface: Field
      Create a condition to regex-pattern-check this field against a pattern.

      The SQL:2008 standard specifies a <regex like predicate> of the following form:

      
       <regex like predicate> ::=
         <row value predicand> <regex like predicate part 2>
      
       <regex like predicate part 2> ::=
        [ NOT ] LIKE_REGEX <XQuery pattern> [ FLAG <XQuery option flag> ]
       

      This particular LIKE_REGEX operator comes in several flavours for various databases. jOOQ supports regular expressions as follows:

      SQL dialect SQL syntax Pattern syntax Documentation
      SQLDialect.ASE - - -
      SQLDialect.DB2 - - -
      SQLDialect.DERBY - - -
      SQLDialect.H2 [search] REGEXP [pattern] Java https ://www.h2database.com/html/grammar.html#condition_right_hand_side
      SQLDialect.HSQLDB REGEXP_MATCHES([search], [pattern]) Java http://hsqldb.org/doc/guide/builtinfunctions-chapt.html#N13577
      SQLDialect.INGRES - - -
      SQLDialect.MYSQL [search] REGEXP [pattern] POSIX http://dev .mysql.com/doc/refman/5.6/en/regexp.html
      SQLDialect.ORACLE REGEXP_LIKE([search], [pattern]) POSIX http://docs.oracle.com/cd/E14072_01/server.112/e10592/conditions007.htm# sthref1994
      SQLDialect.POSTGRES [search] ~ [pattern] POSIX http://www.postgresql.org/docs/9.1/static/functions-matching.html# FUNCTIONS-POSIX-REGEXP
      SQLDialect.SQLITE [search] REGEXP [pattern] ? This module has to be loaded explicitly http://www.sqlite.org/ lang_expr.html
      SQLDialect.SQLSERVER - - -
      SQLDialect.SYBASE [search] REGEXP [pattern] Perl http://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.12.0 .1/dbreference/like-regexp-similarto.html
      Specified by:
      likeRegex in interface Field<T>
      See Also:
    • likeRegex

      public final Condition likeRegex(Field<String> pattern)
      Description copied from interface: Field
      Create a condition to regex-pattern-check this field against a pattern.

      See Field.likeRegex(String) for more details

      Specified by:
      likeRegex in interface Field<T>
      See Also:
    • notLike

      public final Condition notLike(String value, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a value.

      SQL: this not like value escape 'e'

      Specified by:
      notLike in interface Field<T>
      See Also:
    • notLike

      public final Condition notLike(Field<String> field, char escape)
      Description copied from interface: Field
      Create a condition to pattern-check this field against a field.

      SQL: this not like field escape 'e'

      Specified by:
      notLike in interface Field<T>
      See Also:
    • notLikeIgnoreCase

      public final Condition notLikeIgnoreCase(String value, char escape)
      Description copied from interface: Field
      Create a condition to case-insensitively pattern-check this field against a value.

      This translates to this not ilike value in SQLDialect.POSTGRES, or to lower(this) not like lower(value) in all other dialects.

      Specified by:
      notLikeIgnoreCase in interface Field<T>
      See Also:
    • notLikeIgnoreCase

      public final Condition notLikeIgnoreCase(Field<String> field, char escape)
      Description copied from interface: Field
      Create a condition to case-insensitively pattern-check this field against a field.

      This translates to this not ilike field in SQLDialect.POSTGRES, or to lower(this) not like lower(field) in all other dialects.

      Specified by:
      notLikeIgnoreCase in interface Field<T>
      See Also:
    • notLikeRegex

      public final Condition notLikeRegex(String pattern)
      Description copied from interface: Field
      Create a condition to regex-pattern-check this field against a pattern.

      See Field.likeRegex(String) for more details

      Specified by:
      notLikeRegex in interface Field<T>
      See Also:
    • notLikeRegex

      public final Condition notLikeRegex(Field<String> pattern)
      Description copied from interface: Field
      Create a condition to regex-pattern-check this field against a pattern.

      See Field.likeRegex(String) for more details

      Specified by:
      notLikeRegex in interface Field<T>
      See Also:
    • notContains

      public final Condition notContains(T value)
      Description copied from interface: Field
      Specified by:
      notContains in interface Field<T>
    • notContains

      public final Condition notContains(Field<T> value)
      Description copied from interface: Field
      Specified by:
      notContains in interface Field<T>
    • notContainsIgnoreCase

      public final Condition notContainsIgnoreCase(T value)
      Description copied from interface: Field
      Specified by:
      notContainsIgnoreCase in interface Field<T>
    • notContainsIgnoreCase

      public final Condition notContainsIgnoreCase(Field<T> value)
      Description copied from interface: Field
      Specified by:
      notContainsIgnoreCase in interface Field<T>
    • in

      public final Condition in(T... values)
      Description copied from interface: Field
      Create a condition to check this field against several values.

      SQL: this in (values…)

      Note that generating dynamic SQL with arbitrary-length IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect.ORACLE). In order to prevent such problems, you could use Settings.isInListPadding() to produce less distinct SQL strings (see also [#5600]), or you could avoid IN lists, and replace them with:

      • IN predicates on temporary tables
      • IN predicates on unnested array bind variables
      Specified by:
      in in interface Field<T>
    • in

      public final Condition in(Field<?>... values)
      Description copied from interface: Field
      Create a condition to check this field against several values.

      SQL: this in (values…)

      Specified by:
      in in interface Field<T>
    • in

      public final Condition in(Collection<?> values)
      Description copied from interface: Field
      Create a condition to check this field against several values.

      SQL: this in (values…)

      Note that generating dynamic SQL with arbitrary-length IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect.ORACLE). In order to prevent such problems, you could use Settings.isInListPadding() to produce less distinct SQL strings (see also [#5600]), or you could avoid IN lists, and replace them with:

      • IN predicates on temporary tables
      • IN predicates on unnested array bind variables
      Specified by:
      in in interface Field<T>
    • in

      public final Condition in(Result<? extends Record1<T>> result)
      Description copied from interface: Field
      Create a condition to check this field against several values from a previous query.

      SQL: this in (values…)

      Note that generating dynamic SQL with arbitrary-length IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect.ORACLE). In order to prevent such problems, you could use Settings.isInListPadding() to produce less distinct SQL strings (see also [#5600]), or you could avoid IN lists, and replace them with:

      • IN predicates on temporary tables
      • IN predicates on unnested array bind variables
      Specified by:
      in in interface Field<T>
    • notIn

      public final Condition notIn(T... values)
      Description copied from interface: Field
      Create a condition to check this field against several values.

      Note that if any of the passed values is NULL, then the condition will be NULL (or false, depending on the dialect) as well. This is standard SQL behaviour.

      SQL: this not in (values…)

      Note that generating dynamic SQL with arbitrary-length NOT IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect.ORACLE). In order to prevent such problems, you could use Settings.isInListPadding() to produce less distinct SQL strings (see also [#5600]), or you could avoid IN lists, and replace them with:

      • NOT IN predicates on temporary tables
      • NOT IN predicates on unnested array bind variables
      Specified by:
      notIn in interface Field<T>
    • notIn

      public final Condition notIn(Field<?>... values)
      Description copied from interface: Field
      Create a condition to check this field against several values.

      Note that if any of the passed values is NULL, then the condition will be NULL (or false, depending on the dialect) as well. This is standard SQL behaviour.

      SQL: this not in (values…)

      Specified by:
      notIn in interface Field<T>
    • notIn

      public final Condition notIn(Collection<?> values)
      Description copied from interface: Field
      Create a condition to check this field against several values.

      Note that if any of the passed values is NULL, then the condition will be NULL (or false, depending on the dialect) as well. This is standard SQL behaviour.

      SQL: this not in (values…)

      Note that generating dynamic SQL with arbitrary-length NOT IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect.ORACLE). In order to prevent such problems, you could use Settings.isInListPadding() to produce less distinct SQL strings (see also [#5600]), or you could avoid IN lists, and replace them with:

      • NOT IN predicates on temporary tables
      • NOT IN predicates on unnested array bind variables
      Specified by:
      notIn in interface Field<T>
    • notIn

      public final Condition notIn(Result<? extends Record1<T>> result)
      Description copied from interface: Field
      Create a condition to check this field against several values from a previous query.

      Note that if any of the passed values is NULL, then the condition will be NULL (or false, depending on the dialect) as well. This is standard SQL behaviour.

      SQL: this in (values…)

      Note that generating dynamic SQL with arbitrary-length NOT IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect.ORACLE). In order to prevent such problems, you could use Settings.isInListPadding() to produce less distinct SQL strings (see also [#5600]), or you could avoid IN lists, and replace them with:

      • NOT IN predicates on temporary tables
      • NOT IN predicates on unnested array bind variables
      Specified by:
      notIn in interface Field<T>
    • between

      public final Condition between(T minValue, T maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling between(minValue).and(maxValue)

      SQL: this between minValue and maxValue

      Specified by:
      between in interface Field<T>
    • between

      public final Condition between(Field<T> minValue, Field<T> maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling between(minValue).and(maxValue)

      SQL: this between minValue and maxValue

      Specified by:
      between in interface Field<T>
    • betweenSymmetric

      public final Condition betweenSymmetric(T minValue, T maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling betweenSymmetric(minValue).and(maxValue)

      SQL: this between symmetric minValue and maxValue

      Specified by:
      betweenSymmetric in interface Field<T>
    • betweenSymmetric

      public final Condition betweenSymmetric(Field<T> minValue, Field<T> maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling betweenSymmetric(minValue).and(maxValue)

      SQL: this between symmetric minValue and maxValue

      Specified by:
      betweenSymmetric in interface Field<T>
    • notBetween

      public final Condition notBetween(T minValue, T maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling notBetween(minValue).and(maxValue)

      SQL: this not between minValue and maxValue

      Specified by:
      notBetween in interface Field<T>
    • notBetween

      public final Condition notBetween(Field<T> minValue, Field<T> maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling notBetween(minValue).and(maxValue)

      SQL: this not between minValue and maxValue

      Specified by:
      notBetween in interface Field<T>
    • notBetweenSymmetric

      public final Condition notBetweenSymmetric(T minValue, T maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling notBetweenSymmetric(minValue).and(maxValue)

      SQL: this not between symmetric minValue and maxValue

      Specified by:
      notBetweenSymmetric in interface Field<T>
    • notBetweenSymmetric

      public final Condition notBetweenSymmetric(Field<T> minValue, Field<T> maxValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      This is the same as calling notBetweenSymmetric(minValue).and(maxValue)

      SQL: this not between symmetric minValue and maxValue

      Specified by:
      notBetweenSymmetric in interface Field<T>
    • between

      public final BetweenAndStep<T> between(T minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this between minValue and maxValue

      Specified by:
      between in interface Field<T>
    • between

      public final BetweenAndStep<T> between(Field<T> minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this between minValue and maxValue

      Specified by:
      between in interface Field<T>
    • betweenSymmetric

      public final BetweenAndStep<T> betweenSymmetric(T minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this between symmetric minValue and maxValue

      Specified by:
      betweenSymmetric in interface Field<T>
    • betweenSymmetric

      public final BetweenAndStep<T> betweenSymmetric(Field<T> minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this between symmetric minValue and maxValue

      Specified by:
      betweenSymmetric in interface Field<T>
    • notBetween

      public final BetweenAndStep<T> notBetween(T minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this not between minValue and maxValue

      Specified by:
      notBetween in interface Field<T>
    • notBetween

      public final BetweenAndStep<T> notBetween(Field<T> minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this not between minValue and maxValue

      Specified by:
      notBetween in interface Field<T>
    • notBetweenSymmetric

      public final BetweenAndStep<T> notBetweenSymmetric(T minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this not between symmetric minValue and maxValue

      Specified by:
      notBetweenSymmetric in interface Field<T>
    • notBetweenSymmetric

      public final BetweenAndStep<T> notBetweenSymmetric(Field<T> minValue)
      Description copied from interface: Field
      Create a condition to check this field against some bounds.

      SQL: this not between symmetric minValue and maxValue

      Specified by:
      notBetweenSymmetric in interface Field<T>
    • equalIgnoreCase

      public final Condition equalIgnoreCase(String value)
      Description copied from interface: Field
      lower(this) = lower(value).
      Specified by:
      equalIgnoreCase in interface Field<T>
    • equalIgnoreCase

      public final Condition equalIgnoreCase(Field<String> value)
      Description copied from interface: Field
      lower(this) = lower(value).
      Specified by:
      equalIgnoreCase in interface Field<T>
    • notEqualIgnoreCase

      public final Condition notEqualIgnoreCase(String value)
      Description copied from interface: Field
      lower(this) != lower(value).
      Specified by:
      notEqualIgnoreCase in interface Field<T>
    • notEqualIgnoreCase

      public final Condition notEqualIgnoreCase(Field<String> value)
      Description copied from interface: Field
      lower(this) != lower(value).
      Specified by:
      notEqualIgnoreCase in interface Field<T>
    • compare

      public final Condition compare(Comparator comparator, T value)
      Description copied from interface: Field
      Compare this field with a value using a dynamic comparator.
      Specified by:
      compare in interface Field<T>
      Parameters:
      comparator - The comparator to use for comparing this field with a value
      value - The value to compare this field with
      Returns:
      A comparison predicate
    • compare

      public final Condition compare(Comparator comparator, Field<T> field)
      Description copied from interface: Field
      Compare this field with another field using a dynamic comparator.
      Specified by:
      compare in interface Field<T>
      Parameters:
      comparator - The comparator to use for comparing this field with another field
      field - The field to compare this field with
      Returns:
      A comparison predicate
    • compare

      public final Condition compare(Comparator comparator, Select<? extends Record1<T>> query)
      Description copied from interface: Field
      Compare this field with a subselect using a dynamic comparator.

      Consider Comparator.supportsSubselect() to assess whether a comparator can be used with this method.

      Specified by:
      compare in interface Field<T>
      Parameters:
      comparator - The comparator to use for comparing this field with a subselect
      query - The subselect to compare this field with
      Returns:
      A comparison predicate
    • compare

      public final Condition compare(Comparator comparator, QuantifiedSelect<? extends Record1<T>> query)
      Description copied from interface: Field
      Compare this field with a quantified subselect using a dynamic comparator.

      Consider Comparator.supportsQuantifier() to assess whether a comparator can be used with this method.

      Specified by:
      compare in interface Field<T>
      Parameters:
      comparator - The comparator to use for comparing this field with a quantified subselect
      query - The quantified subselect to compare this field with
      Returns:
      A comparison predicate
    • sign

      @Deprecated public final Field<Integer> sign()
      Deprecated.
      Specified by:
      sign in interface Field<T>
      See Also:
    • abs

      @Deprecated public final Field<T> abs()
      Deprecated.
      Specified by:
      abs in interface Field<T>
      See Also:
    • round

      @Deprecated public final Field<T> round()
      Deprecated.
      Specified by:
      round in interface Field<T>
      See Also:
    • round

      @Deprecated public final Field<T> round(int decimals)
      Deprecated.
      Specified by:
      round in interface Field<T>
      See Also:
    • floor

      @Deprecated public final Field<T> floor()
      Deprecated.
      Specified by:
      floor in interface Field<T>
      See Also:
    • ceil

      @Deprecated public final Field<T> ceil()
      Deprecated.
      Specified by:
      ceil in interface Field<T>
      See Also:
    • sqrt

      @Deprecated public final Field<BigDecimal> sqrt()
      Deprecated.
      Specified by:
      sqrt in interface Field<T>
      See Also:
    • exp

      @Deprecated public final Field<BigDecimal> exp()
      Deprecated.
      Specified by:
      exp in interface Field<T>
      See Also:
    • ln

      @Deprecated public final Field<BigDecimal> ln()
      Deprecated.
      Specified by:
      ln in interface Field<T>
      See Also:
    • log

      @Deprecated public final Field<BigDecimal> log(int base)
      Deprecated.
      Specified by:
      log in interface Field<T>
      See Also:
    • acos

      @Deprecated public final Field<BigDecimal> acos()
      Deprecated.
      Specified by:
      acos in interface Field<T>
      See Also:
    • asin

      @Deprecated public final Field<BigDecimal> asin()
      Deprecated.
      Specified by:
      asin in interface Field<T>
      See Also:
    • atan

      @Deprecated public final Field<BigDecimal> atan()
      Deprecated.
      Specified by:
      atan in interface Field<T>
      See Also:
    • atan2

      @Deprecated public final Field<BigDecimal> atan2(Number y)
      Deprecated.
      Specified by:
      atan2 in interface Field<T>
      See Also:
    • atan2

      @Deprecated public final Field<BigDecimal> atan2(Field<? extends Number> y)
      Deprecated.
      Specified by:
      atan2 in interface Field<T>
      See Also:
    • cos

      @Deprecated public final Field<BigDecimal> cos()
      Deprecated.
      Specified by:
      cos in interface Field<T>
      See Also:
    • sin

      @Deprecated public final Field<BigDecimal> sin()
      Deprecated.
      Specified by:
      sin in interface Field<T>
      See Also:
    • tan

      @Deprecated public final Field<BigDecimal> tan()
      Deprecated.
      Specified by:
      tan in interface Field<T>
      See Also:
    • cot

      @Deprecated public final Field<BigDecimal> cot()
      Deprecated.
      Specified by:
      cot in interface Field<T>
      See Also:
    • sinh

      @Deprecated public final Field<BigDecimal> sinh()
      Deprecated.
      Specified by:
      sinh in interface Field<T>
      See Also:
    • cosh

      @Deprecated public final Field<BigDecimal> cosh()
      Deprecated.
      Specified by:
      cosh in interface Field<T>
      See Also:
    • tanh

      @Deprecated public final Field<BigDecimal> tanh()
      Deprecated.
      Specified by:
      tanh in interface Field<T>
      See Also:
    • coth

      @Deprecated public final Field<BigDecimal> coth()
      Deprecated.
      Specified by:
      coth in interface Field<T>
      See Also:
    • deg

      @Deprecated public final Field<BigDecimal> deg()
      Deprecated.
      Specified by:
      deg in interface Field<T>
      See Also:
    • rad

      @Deprecated public final Field<BigDecimal> rad()
      Deprecated.
      Specified by:
      rad in interface Field<T>
      See Also:
    • count

      @Deprecated public final Field<Integer> count()
      Deprecated.
      Specified by:
      count in interface Field<T>
      See Also:
    • countDistinct

      @Deprecated public final Field<Integer> countDistinct()
      Deprecated.
      Specified by:
      countDistinct in interface Field<T>
      See Also:
    • max

      @Deprecated public final Field<T> max()
      Deprecated.
      Specified by:
      max in interface Field<T>
      See Also:
    • min

      @Deprecated public final Field<T> min()
      Deprecated.
      Specified by:
      min in interface Field<T>
      See Also:
    • sum

      @Deprecated public final Field<BigDecimal> sum()
      Deprecated.
      Specified by:
      sum in interface Field<T>
      See Also:
    • avg

      @Deprecated public final Field<BigDecimal> avg()
      Deprecated.
      Specified by:
      avg in interface Field<T>
      See Also:
    • median

      @Deprecated public final Field<BigDecimal> median()
      Deprecated.
      Specified by:
      median in interface Field<T>
      See Also:
    • stddevPop

      @Deprecated public final Field<BigDecimal> stddevPop()
      Deprecated.
      Specified by:
      stddevPop in interface Field<T>
      See Also:
    • stddevSamp

      @Deprecated public final Field<BigDecimal> stddevSamp()
      Deprecated.
      Specified by:
      stddevSamp in interface Field<T>
      See Also:
    • varPop

      @Deprecated public final Field<BigDecimal> varPop()
      Deprecated.
      Specified by:
      varPop in interface Field<T>
      See Also:
    • varSamp

      @Deprecated public final Field<BigDecimal> varSamp()
      Deprecated.
      Specified by:
      varSamp in interface Field<T>
      See Also:
    • countOver

      @Deprecated public final WindowPartitionByStep<Integer> countOver()
      Deprecated.
      Specified by:
      countOver in interface Field<T>
      See Also:
    • maxOver

      @Deprecated public final WindowPartitionByStep<T> maxOver()
      Deprecated.
      Specified by:
      maxOver in interface Field<T>
      See Also:
    • minOver

      @Deprecated public final WindowPartitionByStep<T> minOver()
      Deprecated.
      Specified by:
      minOver in interface Field<T>
      See Also:
    • sumOver

      @Deprecated public final WindowPartitionByStep<BigDecimal> sumOver()
      Deprecated.
      Specified by:
      sumOver in interface Field<T>
      See Also:
    • avgOver

      @Deprecated public final WindowPartitionByStep<BigDecimal> avgOver()
      Deprecated.
      Specified by:
      avgOver in interface Field<T>
      See Also:
    • firstValue

      @Deprecated public final WindowIgnoreNullsStep<T> firstValue()
      Deprecated.
      Specified by:
      firstValue in interface Field<T>
      See Also:
    • lastValue

      @Deprecated public final WindowIgnoreNullsStep<T> lastValue()
      Deprecated.
      Specified by:
      lastValue in interface Field<T>
      See Also:
    • lead

      @Deprecated public final WindowIgnoreNullsStep<T> lead()
      Deprecated.
      Specified by:
      lead in interface Field<T>
      See Also:
    • lead

      @Deprecated public final WindowIgnoreNullsStep<T> lead(int offset)
      Deprecated.
      Specified by:
      lead in interface Field<T>
      See Also:
    • lead

      @Deprecated public final WindowIgnoreNullsStep<T> lead(int offset, T defaultValue)
      Deprecated.
      Specified by:
      lead in interface Field<T>
      See Also:
    • lead

      @Deprecated public final WindowIgnoreNullsStep<T> lead(int offset, Field<T> defaultValue)
      Deprecated.
      Specified by:
      lead in interface Field<T>
      See Also:
    • lag

      @Deprecated public final WindowIgnoreNullsStep<T> lag()
      Deprecated.
      Specified by:
      lag in interface Field<T>
      See Also:
    • lag

      @Deprecated public final WindowIgnoreNullsStep<T> lag(int offset)
      Deprecated.
      Specified by:
      lag in interface Field<T>
      See Also:
    • lag

      @Deprecated public final WindowIgnoreNullsStep<T> lag(int offset, T defaultValue)
      Deprecated.
      Specified by:
      lag in interface Field<T>
      See Also:
    • lag

      @Deprecated public final WindowIgnoreNullsStep<T> lag(int offset, Field<T> defaultValue)
      Deprecated.
      Specified by:
      lag in interface Field<T>
      See Also:
    • stddevPopOver

      @Deprecated public final WindowPartitionByStep<BigDecimal> stddevPopOver()
      Deprecated.
      Specified by:
      stddevPopOver in interface Field<T>
      See Also:
    • stddevSampOver

      @Deprecated public final WindowPartitionByStep<BigDecimal> stddevSampOver()
      Deprecated.
      Specified by:
      stddevSampOver in interface Field<T>
      See Also:
    • varPopOver

      @Deprecated public final WindowPartitionByStep<BigDecimal> varPopOver()
      Deprecated.
      Specified by:
      varPopOver in interface Field<T>
      See Also:
    • varSampOver

      @Deprecated public final WindowPartitionByStep<BigDecimal> varSampOver()
      Deprecated.
      Specified by:
      varSampOver in interface Field<T>
      See Also:
    • upper

      @Deprecated public final Field<String> upper()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      upper in interface Field<T>
      See Also:
    • lower

      @Deprecated public final Field<String> lower()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      lower in interface Field<T>
      See Also:
    • trim

      @Deprecated public final Field<String> trim()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      trim in interface Field<T>
      See Also:
    • rtrim

      @Deprecated public final Field<String> rtrim()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      rtrim in interface Field<T>
      See Also:
    • ltrim

      @Deprecated public final Field<String> ltrim()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      ltrim in interface Field<T>
      See Also:
    • rpad

      @Deprecated public final Field<String> rpad(Field<? extends Number> length)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      rpad in interface Field<T>
      See Also:
    • rpad

      @Deprecated public final Field<String> rpad(int length)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      rpad in interface Field<T>
      See Also:
    • rpad

      @Deprecated public final Field<String> rpad(Field<? extends Number> length, Field<String> character)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      rpad in interface Field<T>
      See Also:
    • rpad

      @Deprecated public final Field<String> rpad(int length, char character)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      rpad in interface Field<T>
      See Also:
    • lpad

      @Deprecated public final Field<String> lpad(Field<? extends Number> length)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      lpad in interface Field<T>
      See Also:
    • lpad

      @Deprecated public final Field<String> lpad(int length)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      lpad in interface Field<T>
      See Also:
    • lpad

      @Deprecated public final Field<String> lpad(Field<? extends Number> length, Field<String> character)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      lpad in interface Field<T>
      See Also:
    • lpad

      @Deprecated public final Field<String> lpad(int length, char character)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      lpad in interface Field<T>
      See Also:
    • repeat

      @Deprecated public final Field<String> repeat(Number count)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      repeat in interface Field<T>
      See Also:
    • repeat

      @Deprecated public final Field<String> repeat(Field<? extends Number> count)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      repeat in interface Field<T>
      See Also:
    • replace

      @Deprecated public final Field<String> replace(Field<String> search)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      replace in interface Field<T>
      See Also:
    • replace

      @Deprecated public final Field<String> replace(String search)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      replace in interface Field<T>
      See Also:
    • replace

      @Deprecated public final Field<String> replace(Field<String> search, Field<String> replace)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      replace in interface Field<T>
      See Also:
    • replace

      @Deprecated public final Field<String> replace(String search, String replace)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      replace in interface Field<T>
      See Also:
    • position

      @Deprecated public final Field<Integer> position(String search)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      position in interface Field<T>
      See Also:
    • position

      @Deprecated public final Field<Integer> position(Field<String> search)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      position in interface Field<T>
      See Also:
    • ascii

      @Deprecated public final Field<Integer> ascii()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      ascii in interface Field<T>
      See Also:
    • collate

      public final Field<String> collate(String collation)
      Description copied from interface: Field
      Apply a collation operator to this column expression.
      Specified by:
      collate in interface Field<T>
      See Also:
    • collate

      public final Field<String> collate(Name collation)
      Description copied from interface: Field
      Apply a collation operator to this column expression.
      Specified by:
      collate in interface Field<T>
      See Also:
    • collate

      public final Field<String> collate(Collation collation)
      Description copied from interface: Field
      Apply a collation operator to this column expression.
      Specified by:
      collate in interface Field<T>
    • concat

      @Deprecated public final Field<String> concat(Field<?>... fields)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      concat in interface Field<T>
      See Also:
    • concat

      @Deprecated public final Field<String> concat(String... values)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      concat in interface Field<T>
      See Also:
    • concat

      public final Field<String> concat(char... values)
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      concat in interface Field<T>
      See Also:
    • substring

      @Deprecated public final Field<String> substring(int startingPosition)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      substring in interface Field<T>
      See Also:
    • substring

      @Deprecated public final Field<String> substring(Field<? extends Number> startingPosition)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      substring in interface Field<T>
      See Also:
    • substring

      @Deprecated public final Field<String> substring(int startingPosition, int length)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      substring in interface Field<T>
      See Also:
    • substring

      @Deprecated public final Field<String> substring(Field<? extends Number> startingPosition, Field<? extends Number> length)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      substring in interface Field<T>
      See Also:
    • length

      @Deprecated public final Field<Integer> length()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      length in interface Field<T>
      See Also:
    • charLength

      @Deprecated public final Field<Integer> charLength()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      charLength in interface Field<T>
      See Also:
    • bitLength

      @Deprecated public final Field<Integer> bitLength()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      bitLength in interface Field<T>
      See Also:
    • octetLength

      @Deprecated public final Field<Integer> octetLength()
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      octetLength in interface Field<T>
      See Also:
    • extract

      @Deprecated public final Field<Integer> extract(DatePart datePart)
      Deprecated.
      Specified by:
      extract in interface Field<T>
      See Also:
    • greatest

      @Deprecated @SafeVarargs public final Field<T> greatest(T... others)
      Deprecated.
      Specified by:
      greatest in interface Field<T>
      See Also:
    • greatest

      @Deprecated public final Field<T> greatest(Field<?>... others)
      Deprecated.
      Specified by:
      greatest in interface Field<T>
      See Also:
    • least

      @Deprecated @SafeVarargs public final Field<T> least(T... others)
      Deprecated.
      Specified by:
      least in interface Field<T>
      See Also:
    • least

      @Deprecated public final Field<T> least(Field<?>... others)
      Deprecated.
      Specified by:
      least in interface Field<T>
      See Also:
    • nvl

      @Deprecated public final Field<T> nvl(T defaultValue)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      nvl in interface Field<T>
      See Also:
    • nvl

      @Deprecated public final Field<T> nvl(Field<T> defaultValue)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      nvl in interface Field<T>
      See Also:
    • nvl2

      @Deprecated public final <Z> Field<Z> nvl2(Z valueIfNotNull, Z valueIfNull)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      nvl2 in interface Field<T>
      See Also:
    • nvl2

      @Deprecated public final <Z> Field<Z> nvl2(Field<Z> valueIfNotNull, Field<Z> valueIfNull)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      nvl2 in interface Field<T>
      See Also:
    • nullif

      @Deprecated public final Field<T> nullif(T other)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      nullif in interface Field<T>
      See Also:
    • nullif

      @Deprecated public final Field<T> nullif(Field<T> other)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      nullif in interface Field<T>
      See Also:
    • decode

      @Deprecated public final <Z> Field<Z> decode(T search, Z result)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      decode in interface Field<T>
      See Also:
    • decode

      @Deprecated public final <Z> Field<Z> decode(T search, Z result, Object... more)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      decode in interface Field<T>
      See Also:
    • decode

      @Deprecated public final <Z> Field<Z> decode(Field<T> search, Field<Z> result)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      decode in interface Field<T>
      See Also:
    • decode

      @Deprecated public final <Z> Field<Z> decode(Field<T> search, Field<Z> result, Field<?>... more)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      decode in interface Field<T>
      See Also:
    • coalesce

      @Deprecated @SafeVarargs public final Field<T> coalesce(T option, T... options)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      coalesce in interface Field<T>
      See Also:
    • coalesce

      @Deprecated public final Field<T> coalesce(Field<T> option, Field<?>... options)
      Deprecated.
      Description copied from interface: Field
      This method is part of the pre-2.0 API. This API is maintained for backwards-compatibility. It may be removed in the future. Consider using equivalent methods from DSLContext
      Specified by:
      coalesce in interface Field<T>
      See Also:
    • getConverter

      public final ContextConverter<?,T> getConverter()
      Description copied from interface: Typed
      The object's underlying Converter.

      By default, all typed objects reference an identity-converter Converter<T, T>. If an implementation is generated, custom data types may be obtained by a custom Converter placed on the generated object.

      Specified by:
      getConverter in interface Typed<T>
    • getBinding

      public final Binding<?,T> getBinding()
      Description copied from interface: Typed
      The object's underlying Binding.
      Specified by:
      getBinding in interface Typed<T>
    • getType

      public final Class<T> getType()
      Description copied from interface: Typed
      The Java type of the object.
      Specified by:
      getType in interface Typed<T>
    • getDataType

      public final DataType<T> getDataType()
      Description copied from interface: Typed
      The type of this object (might not be dialect-specific).
      Specified by:
      getDataType in interface Typed<T>
    • getDataType

      public final DataType<T> getDataType(Configuration configuration)
      Description copied from interface: Typed
      The dialect-specific type of this object.
      Specified by:
      getDataType in interface Typed<T>
    • $dataType

      public final DataType<T> $dataType()
      Description copied from interface: Typed
      Experimental query object model accessor method, see also QOM. Subject to change in future jOOQ versions, use at your own risk.
      Specified by:
      $dataType in interface Typed<T>
    • getName

      public final String getName()
      Description copied from interface: Named
      The unqualified name of this object.
      Specified by:
      getName in interface Named
    • getQualifiedName

      public Name getQualifiedName()
      Description copied from interface: Named
      The qualified name of this object.
      Specified by:
      getQualifiedName in interface Named
    • getUnqualifiedName

      public final Name getUnqualifiedName()
      Description copied from interface: Named
      The unqualified name of this object.
      Specified by:
      getUnqualifiedName in interface Named
    • getComment

      public final String getComment()
      Description copied from interface: Named
      The comment on this object.

      This is the same as calling Named.getCommentPart() and then Comment.getComment().

      Specified by:
      getComment in interface Named
    • getCommentPart

      public final Comment getCommentPart()
      Description copied from interface: Named
      The comment on this object as a QueryPart.
      Specified by:
      getCommentPart in interface Named
    • hashCode

      public int hashCode()
      Description copied from interface: QueryPart
      Generate a hash code from this QueryPart.

      In general, QueryPart hash codes are the same as the hash codes generated from QueryPart.toString(). This guarantees consistent behaviour with QueryPart.equals(Object)

      Some QueryPart implementations may choose to override this behaviour for improved performance, as QueryPart.toString() is an expensive operation, if called many times.

      Specified by:
      hashCode in interface QueryPart
      Returns:
      The QueryPart hash code
    • equals

      public boolean equals(Object that)
      Description copied from interface: QueryPart
      Check whether this QueryPart can be considered equal to another QueryPart.

      In general, QueryPart equality is defined in terms of QueryPart.toString() equality. In other words, two query parts are considered equal if their rendered SQL (with inlined bind variables) is equal. This means that the two query parts do not necessarily have to be of the same type.

      Some QueryPart implementations may choose to override this behaviour for improved performance, as QueryPart.toString() is an expensive operation, if called many times.

      Specified by:
      equals in interface QueryPart
      Parameters:
      that - The other QueryPart
      Returns:
      Whether the two query parts are equal
    • $name

      public final Name $name()
      Description copied from interface: Named
      Experimental query object model accessor method, see also QOM. Subject to change in future jOOQ versions, use at your own risk.
      Specified by:
      $name in interface Named
    • rendersContent

      public boolean rendersContent(Context<?> ctx)
      Subclasses may override this
      Specified by:
      rendersContent in interface QueryPartInternal
    • declaresWindows

      public boolean declaresWindows()
      Subclasses may override this
      Specified by:
      declaresWindows in interface QueryPartInternal
    • declaresCTE

      public boolean declaresCTE()
      Subclasses may override this
      Specified by:
      declaresCTE in interface QueryPartInternal
    • declaresParameters

      @Pro public boolean declaresParameters()
      Subclasses may override this
      Specified by:
      declaresParameters in interface QueryPartInternal
    • generatesCast

      public boolean generatesCast()
      Subclasses may override this
      Specified by:
      generatesCast in interface QueryPartInternal
    • toString

      public String toString()
      Description copied from interface: QueryPart
      Render a SQL string representation of this QueryPart.

      For improved debugging, this renders a SQL string of this QueryPart with inlined bind variables. If this QueryPart is Attachable, then the attached Configuration may be used for rendering the SQL string, including SQLDialect and Settings. Do note that most QueryPart instances are not attached to a Configuration, and thus there is no guarantee that the SQL string will make sense in the context of a specific database.

      Specified by:
      toString in interface QueryPart
      Overrides:
      toString in class Object
      Returns:
      A SQL string representation of this QueryPart
    • create

      @Deprecated protected final DSLContext create()
      Deprecated.
      - 3.11.0 - [#6722] - Use Attachable.configuration() and Configuration.dsl() instead.
      Internal convenience method
    • create

      @Deprecated protected final DSLContext create(Configuration configuration)
      Deprecated.
      - 3.11.0 - [#6722] - Use Attachable.configuration() and Configuration.dsl() instead.
      Internal convenience method
    • create

      @Deprecated protected final DSLContext create(Context<?> ctx)
      Deprecated.
      - 3.11.0 - [#6722] - Use Attachable.configuration() and Configuration.dsl() instead.
      Internal convenience method
    • translate

      protected final DataAccessException translate(String sql, SQLException e)
      Internal convenience method