Module org.jooq
Package org.jooq

Enum Class SQLDialect

All Implemented Interfaces:
Serializable, Comparable<SQLDialect>, Constable

public enum SQLDialect extends Enum<SQLDialect>
Dialects and dialect families as supported by jOOQ.

The commercial jOOQ distributions support a variety of dialects, which are grouped into dialect families. For instance, the PostgreSQL dialect family POSTGRES is specialised by its dialects

The open source jOOQ distributions only support the dialect family, which corresponds to the latest supported dialect version of the commercial distribution. A full list of mappings between dialect families and latest supported version can be seen here https://www.jooq.org/download/support-matrix.

If a dialect is documented but does not seem to be available in your jOOQ Edition, you may be using the wrong edition, e.g. because of a transitive dependency introduced by Spring Boot. See this article about how to exclude such transitive dependencies from your classpath https://blog.jooq.org/how-to-use-jooqs-commercial-distributions-with-spring-boot/.

Author:
Lukas Eder
  • Enum Constant Details Link icon

    • DEFAULT Link icon

      public static final SQLDialect DEFAULT
      The default SQL dialect.

      This dialect is chosen in the absence of a more explicit dialect. It is not intended to be used with any actual database as it may combined dialect-specific things from various dialects.

    • CLICKHOUSE Link icon

      @Experimental public static final SQLDialect CLICKHOUSE
      The ClickHouse dialect family.

      This dialect is in EXPERIMENTAL state. The dialect works very differently from most more standards compliant dialects, and we're still exploring how much we should tweak generated SQL to make ClickHouse behave more. The main difference is in how NULL values are handled. While NOT NULL being the default modifier on a type is a reasonable choice, auto-converting all NULL values to the type's default (e.g. 0 for INTEGER) seems like a stretch, and hard to prevent via jOOQ's standardisation.

    • CUBRID Link icon

      @Deprecated(forRemoval=true, since="3.13") public static final SQLDialect CUBRID
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#9403] - 3.13.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future.
      The CUBRID dialect family.
    • DERBY Link icon

      public static final SQLDialect DERBY
      The Apache Derby dialect family.
    • DUCKDB Link icon

      public static final SQLDialect DUCKDB
      The DuckDB dialect family.
    • FIREBIRD Link icon

      public static final SQLDialect FIREBIRD
      The Firebird dialect family.

      This family behaves like the versioned dialect FIREBIRD_3_0.

    • FIREBIRD_2_5 Link icon

      @Pro public static final SQLDialect FIREBIRD_2_5
      The Firebird 2.5 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • FIREBIRD_3_0 Link icon

      @Pro public static final SQLDialect FIREBIRD_3_0
      The Firebird 3.0 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • FIREBIRD_4_0 Link icon

      @Pro public static final SQLDialect FIREBIRD_4_0
      The Firebird 4.0 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • H2 Link icon

      public static final SQLDialect H2
      The H2 dialect family.
    • H2_1_4_197 Link icon

      @Pro @Deprecated(forRemoval=true, since="3.20") public static final SQLDialect H2_1_4_197
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#17388] - 3.20.0 - This dialect is no longer supported. If you continue to require support for H2 1.4, please get in touch here: https://github.com/jOOQ/jOOQ/issues/17388
      The H2 1.4.197 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • H2_1_4_200 Link icon

      @Pro @Deprecated(forRemoval=true, since="3.20") public static final SQLDialect H2_1_4_200
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#17388] - 3.20.0 - This dialect is no longer supported. If you continue to require support for H2 1.4, please get in touch here: https://github.com/jOOQ/jOOQ/issues/17388
      The H2 1.4.200 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • H2_2_0_202 Link icon

      @Pro public static final SQLDialect H2_2_0_202
      The H2 2.0.202 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • H2_2_1_214 Link icon

      @Pro public static final SQLDialect H2_2_1_214
      The H2 2.1.214 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • H2_2_2_220 Link icon

      @Pro public static final SQLDialect H2_2_2_220
      The H2 2.2.220 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • HSQLDB Link icon

      public static final SQLDialect HSQLDB
      The Hypersonic dialect family.
    • IGNITE Link icon

      @Deprecated(forRemoval=true, since="3.16") public static final SQLDialect IGNITE
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#12465] - 3.16.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future. If you're actively using this dialect, please get in touch for extended support: https://github.com/jOOQ/jOOQ/issues/12465
      The Apache Ignite dialect family.
    • MARIADB Link icon

      public static final SQLDialect MARIADB
      The MariaDB dialect family.

      This family behaves like the versioned dialect MARIADB_10_5.

    • MARIADB_10_0 Link icon

      @Pro public static final SQLDialect MARIADB_10_0
      The MariaDB 10.0 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_1 Link icon

      @Pro public static final SQLDialect MARIADB_10_1
      The MariaDB 10.1 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_2 Link icon

      @Pro public static final SQLDialect MARIADB_10_2
      The MariaDB 10.2 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_3 Link icon

      @Pro public static final SQLDialect MARIADB_10_3
      The MariaDB 10.3 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_4 Link icon

      @Pro public static final SQLDialect MARIADB_10_4
      The MariaDB 10.4 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_5 Link icon

      @Pro public static final SQLDialect MARIADB_10_5
      The MariaDB 10.5 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_6 Link icon

      @Pro public static final SQLDialect MARIADB_10_6
      The MariaDB 10.6 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_10_7 Link icon

      @Pro public static final SQLDialect MARIADB_10_7
      The MariaDB 10.7 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MARIADB_11_2 Link icon

      @Pro public static final SQLDialect MARIADB_11_2
      The MariaDB 11.2 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MYSQL Link icon

      public static final SQLDialect MYSQL
      The MySQL dialect family.

      This family behaves like the versioned dialect MYSQL_8_0_31.

    • MYSQL_5_6 Link icon

      @Pro public static final SQLDialect MYSQL_5_6
      The MySQL 5.6 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MYSQL_5_7 Link icon

      @Pro public static final SQLDialect MYSQL_5_7
      The MySQL 5.7 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MYSQL_8_0 Link icon

      @Pro public static final SQLDialect MYSQL_8_0
      The MySQL 8.0.0 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MYSQL_8_0_19 Link icon

      @Pro public static final SQLDialect MYSQL_8_0_19
      The MySQL 8.0.19 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MYSQL_8_0_20 Link icon

      @Pro public static final SQLDialect MYSQL_8_0_20
      The MySQL 8.0.20 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MYSQL_8_0_31 Link icon

      @Pro public static final SQLDialect MYSQL_8_0_31
      The MySQL 8.0.31 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES Link icon

      public static final SQLDialect POSTGRES
      The PostgreSQL dialect family.

      This family behaves like the versioned dialect POSTGRES_17.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

    • POSTGRES_9_3 Link icon

      @Pro public static final SQLDialect POSTGRES_9_3
      The PostgreSQL 9.3 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_9_4 Link icon

      @Pro public static final SQLDialect POSTGRES_9_4
      The PostgreSQL 9.4 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_9_5 Link icon

      @Pro public static final SQLDialect POSTGRES_9_5
      The PostgreSQL 9.5 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_10 Link icon

      @Pro public static final SQLDialect POSTGRES_10
      The PostgreSQL 10 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_11 Link icon

      @Pro public static final SQLDialect POSTGRES_11
      The PostgreSQL 11 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_12 Link icon

      @Pro public static final SQLDialect POSTGRES_12
      The PostgreSQL 12 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_13 Link icon

      @Pro public static final SQLDialect POSTGRES_13
      The PostgreSQL 13 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_14 Link icon

      @Pro public static final SQLDialect POSTGRES_14
      The PostgreSQL 14 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_15 Link icon

      @Pro public static final SQLDialect POSTGRES_15
      The PostgreSQL 15 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_16 Link icon

      @Pro public static final SQLDialect POSTGRES_16
      The PostgreSQL 16 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRES_17 Link icon

      @Pro public static final SQLDialect POSTGRES_17
      The PostgreSQL 17 dialect.

      While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLITE Link icon

      public static final SQLDialect SQLITE
      The SQLite dialect family.

      This family behaves like the versioned dialect SQLITE_3_40.

    • SQLITE_3_25 Link icon

      @Pro public static final SQLDialect SQLITE_3_25
      The SQLite 3.25 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLITE_3_28 Link icon

      @Pro public static final SQLDialect SQLITE_3_28
      The SQLite 3.28 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLITE_3_30 Link icon

      @Pro public static final SQLDialect SQLITE_3_30
      The SQLite 3.30 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLITE_3_38 Link icon

      @Pro public static final SQLDialect SQLITE_3_38
      The SQLite 3.38 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLITE_3_39 Link icon

      @Pro public static final SQLDialect SQLITE_3_39
      The SQLite 3.39 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLITE_3_40 Link icon

      @Pro public static final SQLDialect SQLITE_3_40
      The SQLite 3.40 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • TRINO Link icon

      public static final SQLDialect TRINO
      The Trino dialect family.
    • YUGABYTEDB Link icon

      public static final SQLDialect YUGABYTEDB
      The YugabyteDB dialect family.
    • YUGABYTEDB_2_9 Link icon

      @Pro public static final SQLDialect YUGABYTEDB_2_9
      The YugabyteDB 2.9 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ACCESS Link icon

      @Pro public static final SQLDialect ACCESS
      The MS Access dialect family.

      This family behaves like the versioned dialect ACCESS2013.

      This dialect is available in commercial jOOQ distributions, only.

    • ACCESS2013 Link icon

      @Pro public static final SQLDialect ACCESS2013
      The MS Access 2013 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ASE Link icon

      @Pro public static final SQLDialect ASE
      The Sybase Adaptive Server dialect family.

      This family behaves like the versioned dialect ASE_16_0.

      This dialect is available in commercial jOOQ distributions, only.

    • ASE_12_5 Link icon

      @Pro public static final SQLDialect ASE_12_5
      The Sybase Adaptive Server 12.5 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ASE_15_5 Link icon

      @Pro public static final SQLDialect ASE_15_5
      The Sybase Adaptive Server 15.5 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ASE_15_7 Link icon

      @Pro public static final SQLDialect ASE_15_7
      The Sybase Adaptive Server 15.7 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ASE_16_0 Link icon

      @Pro public static final SQLDialect ASE_16_0
      The Sybase Adaptive Server 16.0 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • AURORA_MYSQL Link icon

      @Pro public static final SQLDialect AURORA_MYSQL
      The Amazon Aurora MySQL Edition dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • AURORA_POSTGRES Link icon

      @Pro public static final SQLDialect AURORA_POSTGRES
      The Amazon Aurora PostgreSQL Edition dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • BIGQUERY Link icon

      @Pro public static final SQLDialect BIGQUERY
      The Google BigQuery dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • COCKROACHDB Link icon

      @Pro public static final SQLDialect COCKROACHDB
      The CockroachDB dialect family.

      This family behaves like the versioned dialect COCKROACHDB_23.

      This dialect is available in commercial jOOQ distributions, only.

    • COCKROACHDB_20 Link icon

      @Pro public static final SQLDialect COCKROACHDB_20
      The CockroachDB 20 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • COCKROACHDB_21 Link icon

      @Pro public static final SQLDialect COCKROACHDB_21
      The CockroachDB 21 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • COCKROACHDB_22 Link icon

      @Pro public static final SQLDialect COCKROACHDB_22
      The CockroachDB 22 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • COCKROACHDB_23 Link icon

      @Pro public static final SQLDialect COCKROACHDB_23
      The CockroachDB 23 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • DATABRICKS Link icon

      @Experimental @Pro public static final SQLDialect DATABRICKS
      The Databricks dialect.

      This dialect is in EXPERIMENTAL state as of jOOQ 3.20. Please reach out to https://github.com/jOOQ/jOOQ/issues/14402 if you wish to use it.

      This dialect is available in commercial jOOQ distributions, only.

    • DB2 Link icon

      @Pro public static final SQLDialect DB2
      The IBM DB2 dialect family.

      This family behaves like the versioned dialect DB2_11.

      This dialect is available in commercial jOOQ distributions, only.

    • DB2_9 Link icon

      @Pro public static final SQLDialect DB2_9
      The IBM DB2 9.x dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • DB2_10 Link icon

      @Pro public static final SQLDialect DB2_10
      The IBM DB2 10.x dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • DB2_11 Link icon

      @Pro public static final SQLDialect DB2_11
      The IBM DB2 11.x dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • EXASOL Link icon

      @Pro public static final SQLDialect EXASOL
      The EXASOL dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • HANA Link icon

      @Pro public static final SQLDialect HANA
      The SAP HANA dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • INFORMIX Link icon

      @Pro public static final SQLDialect INFORMIX
      The Informix dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • INGRES Link icon

      @Pro @Deprecated(forRemoval=true, since="3.15") public static final SQLDialect INGRES
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#11515] - 3.15.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future. If you're actively using this dialect, please get in touch for extended support: https://github.com/jOOQ/jOOQ/issues/11515
      The Ingres dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • MEMSQL Link icon

      @Pro public static final SQLDialect MEMSQL
      The MemSQL dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • MEMSQL_6 Link icon

      @Pro public static final SQLDialect MEMSQL_6
      The MemSQL 6 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MEMSQL_7 Link icon

      @Pro public static final SQLDialect MEMSQL_7
      The MemSQL 7 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • MEMSQL_8 Link icon

      @Pro public static final SQLDialect MEMSQL_8
      The MemSQL 8 dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE Link icon

      @Pro public static final SQLDialect ORACLE
      The Oracle dialect family.

      This family behaves like the versioned dialect ORACLE23AI.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE10G Link icon

      @Pro @Deprecated(forRemoval=true, since="3.15") public static final SQLDialect ORACLE10G
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#11797] - 3.15.0 - This dialect is no longer supported. If you continue to require support for Oracle 10g, please get in touch here: https://github.com/jOOQ/jOOQ/issues/11797
      The Oracle 10g dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE11G Link icon

      @Pro @Deprecated(forRemoval=true, since="3.20") public static final SQLDialect ORACLE11G
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#17125] - 3.20.0 - This dialect is no longer supported. If you continue to require support for Oracle 11g, please get in touch here: https://github.com/jOOQ/jOOQ/issues/17125
      The Oracle 11g dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE12C Link icon

      @Pro @Deprecated(forRemoval=true, since="3.20") public static final SQLDialect ORACLE12C
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#17125] - 3.20.0 - This dialect is no longer supported. If you continue to require support for Oracle 12c, please get in touch here: https://github.com/jOOQ/jOOQ/issues/17125
      The Oracle 12c dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE18C Link icon

      @Pro public static final SQLDialect ORACLE18C
      The Oracle 18c dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE20C Link icon

      @Pro public static final SQLDialect ORACLE20C
      The Oracle 20c dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE21C Link icon

      @Pro public static final SQLDialect ORACLE21C
      The Oracle 21c dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE23C Link icon

      @Deprecated @Pro public static final SQLDialect ORACLE23C
      Deprecated.
      - [#16628] - 3.20.0 - Use ORACLE23AI instead.
      The Oracle 23c dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • ORACLE23AI Link icon

      @Pro public static final SQLDialect ORACLE23AI
      The Oracle 23ai dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • POSTGRESPLUS Link icon

      @Deprecated @Pro public static final SQLDialect POSTGRESPLUS
      Deprecated.
      - This dialect is not yet supported by jOOQ.
      The Postgres Plus dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • REDSHIFT Link icon

      @Pro public static final SQLDialect REDSHIFT
      The Amazon Redshift dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SNOWFLAKE Link icon

      @Pro public static final SQLDialect SNOWFLAKE
      The Snowflake dialect.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER Link icon

      @Pro public static final SQLDialect SQLSERVER
      The SQL Server dialect family.

      This family behaves like the versioned dialect SQLSERVER2022.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER2008 Link icon

      @Pro @Deprecated(forRemoval=true, since="3.20") public static final SQLDialect SQLSERVER2008
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#17126] - 3.20.0 - This dialect is no longer supported. If you continue to require support for Oracle 12c, please get in touch here: https://github.com/jOOQ/jOOQ/issues/17126
      The SQL Server 2008 dialect.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER2012 Link icon

      @Pro public static final SQLDialect SQLSERVER2012
      The SQL Server 2012 dialect.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER2014 Link icon

      @Pro public static final SQLDialect SQLSERVER2014
      The SQL Server 2014 dialect.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER2016 Link icon

      @Pro public static final SQLDialect SQLSERVER2016
      The SQL Server 2016 dialect.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER2017 Link icon

      @Pro public static final SQLDialect SQLSERVER2017
      The SQL Server 2017 dialect.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLSERVER2022 Link icon

      @Pro public static final SQLDialect SQLSERVER2022
      The SQL Server 2022 dialect.

      Use this family (or its dialects) for SQL Server or Azure SQL Database.

      This dialect is available in commercial jOOQ distributions, only.

    • SQLDATAWAREHOUSE Link icon

      @Pro public static final SQLDialect SQLDATAWAREHOUSE
      The SQL Data Warehouse (Azure Synapse Analytics) family.

      This dialect is available in commercial jOOQ distributions, only.

    • SYBASE Link icon

      @Pro public static final SQLDialect SYBASE
      The Sybase SQL Anywhere dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • TERADATA Link icon

      @Pro public static final SQLDialect TERADATA
      The Teradata dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • VERTICA Link icon

      @Pro public static final SQLDialect VERTICA
      The Vertica dialect family.

      This dialect is available in commercial jOOQ distributions, only.

    • JAVA Link icon

      @Experimental @Pro public static final SQLDialect JAVA
      The jOOQ dialect producing compilable jOOQ / Java code.

      This is EXPERIMENTAL functionality. The current implementation supports:

      It does not yet support:
      • Support for other DML statements, like Insert, Update, Delete, Merge
      • Support for DDL statements
      • Support for common table expressions (CTEs, WITH clause).
      • Support for derived tables.
      • Limited support for aliasing

      This dialect is available in commercial jOOQ distributions, only.

  • Method Details Link icon

    • values Link icon

      public static SQLDialect[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf Link icon

      public static SQLDialect valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • families Link icon

      @NotNull public static final @NotNull SQLDialect @NotNull [] families()
      Get a list of all family() values.
    • predecessors Link icon

      @NotNull public static final @NotNull Set<SQLDialect> predecessors(SQLDialect... dialects)
      Get a set of dialects preceding a given set of dialects.

      The resulting set of dialects contain all the families and dialect versions that precede the argument dialects, including the argument dialects.

    • supportedUntil Link icon

      @NotNull public static final @NotNull Set<SQLDialect> supportedUntil(SQLDialect dialect)
      Get a set of supported dialect versions and predecessors given a dialect version.

      The resulting set of dialects contain all the families and dialect versions that precede the argument dialect, including the argument dialect.

    • supportedUntil Link icon

      @NotNull public static final @NotNull Set<SQLDialect> supportedUntil(SQLDialect... dialects)
      Get a set of supported dialect versions and predecessors given a dialect version.

      The resulting set of dialects contain all the families and dialect versions that precede the argument dialect, including the argument dialects.

    • supportedBy Link icon

      @NotNull public static final @NotNull Set<SQLDialect> supportedBy(SQLDialect dialect)
      Get a set of supported dialect versions and successors given a dialect version.

      The resulting set of dialects contain all the families and dialect versions that support the argument dialect, i.e. that succeed it, including the argument dialect.

    • supportedBy Link icon

      @NotNull public static final @NotNull Set<SQLDialect> supportedBy(SQLDialect... dialects)
      Get a set of supported dialect versions and successors given a set of dialect versions.

      The resulting set of dialects contain all the families and dialect versions that support the argument dialects, i.e. that succeed them, including the argument dialects.

    • commercial Link icon

      public final boolean commercial()
      Whether this dialect is supported with the jOOQ commercial license only.
    • supported Link icon

      public final boolean supported()
      Whether this dialect is supported by jOOQ as an output dialect.

      Unsupported, non-output dialects include:

    • family Link icon

      @NotNull public final @NotNull SQLDialect family()
      The dialect family.

      This returns the dialect itself, if it has no "parent family". E.g.

      
       SQLSERVER == SQLSERVER2012.family();
       SQLSERVER == SQLSERVER2008.family();
       SQLSERVER == SQLSERVER.family();
       
    • category Link icon

      @NotNull public final @NotNull SQLDialectCategory category()
      The dialect category.
    • isFamily Link icon

      public final boolean isFamily()
      Whether this dialect is a family().
    • isVersioned Link icon

      public final boolean isVersioned()
      Whether this dialect is a versioned dialect or a family with versioned dialects.
    • predecessor Link icon

      @NotNull public final @NotNull SQLDialect predecessor()
      The predecessor dialect.

      If this is a dialect version (e.g. POSTGRES_9_4) within a family (e.g. POSTGRES), then the predecessor will point to the historically previous dialect version (e.g. POSTGRES_9_3) within the same family, or to the dialect itself if there was no predecessor explicitly supported by jOOQ.

    • predecessors Link icon

      @NotNull public final @NotNull Set<SQLDialect> predecessors()
      The predecessor dialects.

      Recursively calls predecessor() and finds all the preceding dialects to this one, including this one.

    • precedes Link icon

      public final boolean precedes(SQLDialect other)
      Whether this dialect precedes an other dialect from the same family.

      This returns:

      • true if this dialect is the same as the other dialect
      • true if this dialect precedes the other dialect via any number of calls to predecessor()
      The above also implies that:
      • false if the two dialects do not belong to the same family

      This is useful to see if some feature is supported by "at least" a given dialect version. Example:

      
       // Do this block only if the chosen dialect supports PostgreSQL 9.4+ features
       if (POSTGRES_9_4.precedes(dialect)) {
       }
      
       // Do this block only if the chosen dialect supports PostgreSQL 9.3+ features
       else if (POSTGRES_9_3.precedes(dialect)) {
       }
      
       // Fall back to pre-PostgreSQL 9.3 behaviour
       else {
       }
       
    • precedesStrictly Link icon

      public final boolean precedesStrictly(SQLDialect other)
      Whether this dialect strictly precedes an other dialect from the same family.

      This returns:

      • false if this dialect is the same as the other dialect
      • true if this dialect precedes the other dialect via any number of calls to predecessor()
      The above also implies that:
      • false if the two dialects do not belong to the same family

      This is useful to see if some feature is supported by "at least" a given dialect version. Example:

       
       // Do this block only if the chosen dialect was before PostgreSQL 9.3-
       if (dialect.precedesStrictly(POSTGRES_9_3)) {
       }
      
       // Do this block only if the chosen dialect was before PostgreSQL 9.4-
       else if (dialect.precedesStrictly(POSTGRES_9_4)) {
       }
      
       // Fall back to post-PostgreSQL 9.4+ behaviour
       else {
       }
       
       
    • supports Link icon

      public final boolean supports(SQLDialect other)
      Check whether this dialect supports another one.

      This is:

      • false if dialects don't belong to the same family
      • true if either dialect isFamily()
      • true if other dialect precedes this dialect

      The other argument dialect is typically referenced from a Support annotation, whereas this dialect is the user dialect.

    • supports Link icon

      @Deprecated(forRemoval=true, since="3.14") public final boolean supports(Collection<SQLDialect> other)
      Deprecated, for removal: This API element is subject to removal in a future version.
      - [#9882] - 3.14.0 - Use supportedBy(SQLDialect...) instead
      Check whether this dialect supports any dialect from the argument collection.
    • supportsDatabaseVersion Link icon

      public final boolean supportsDatabaseVersion(int majorVersion, int minorVersion, String productVersion)
    • getName Link icon

      @NotNull public final @NotNull String getName()
      The name of this dialect as it appears in related class names.
    • getNameLC Link icon

      @NotNull public final @NotNull String getNameLC()
      The name of this dialect as it appears in related package names.
    • getNameUC Link icon

      @NotNull public final @NotNull String getNameUC()
      The name of this dialect as it appears in related enum values.
    • thirdParty Link icon

      @NotNull public final @NotNull SQLDialect.ThirdParty thirdParty()
      Get access to third party representations of this SQLDialect.