D.1. Supported Features

Identifier
Core?
Description
Comment

B012

Embedded C

B021

Direct SQL

B128

Routine language SQL

E011

Core

Numeric data types

E011-01

Core

INTEGER and SMALLINT data types

E011-02

Core

REAL, DOUBLE PRECISION, and FLOAT data types

E011-03

Core

DECIMAL and NUMERIC data types

E011-04

Core

Arithmetic operators

E011-05

Core

Numeric comparison

E011-06

Core

Implicit casting among the numeric data types

E021

Core

Character data types

E021-01

Core

CHARACTER data type

E021-02

Core

CHARACTER VARYING data type

E021-03

Core

Character literals

E021-04

Core

CHARACTER_LENGTH function

trims trailing spaces from CHARACTER values before counting

E021-05

Core

OCTET_LENGTH function

E021-06

Core

SUBSTRING function

E021-07

Core

Character concatenation

E021-08

Core

UPPER and LOWER functions

E021-09

Core

TRIM function

E021-10

Core

Implicit casting among the character string types

E021-11

Core

POSITION function

E021-12

Core

Character comparison

E031

Core

Identifiers

E031-01

Core

Delimited identifiers

E031-02

Core

Lower case identifiers

E031-03

Core

Trailing underscore

E051

Core

Basic query specification

E051-01

Core

SELECT DISTINCT

E051-02

Core

GROUP BY clause

E051-04

Core

GROUP BY can contain columns not in <select list>

E051-05

Core

Select list items can be renamed

E051-06

Core

HAVING clause

E051-07

Core

Qualified * in select list

E051-08

Core

Correlation names in the FROM clause

E051-09

Core

Rename columns in the FROM clause

E061

Core

Basic predicates and search conditions

E061-01

Core

Comparison predicate

E061-02

Core

BETWEEN predicate

E061-03

Core

IN predicate with list of values

E061-04

Core

LIKE predicate

E061-05

Core

LIKE predicate ESCAPE clause

E061-06

Core

NULL predicate

E061-07

Core

Quantified comparison predicate

E061-08

Core

EXISTS predicate

E061-09

Core

Subqueries in comparison predicate

E061-11

Core

Subqueries in IN predicate

E061-12

Core

Subqueries in quantified comparison predicate

E061-13

Core

Correlated subqueries

E061-14

Core

Search condition

E071

Core

Basic query expressions

E071-01

Core

UNION DISTINCT table operator

E071-02

Core

UNION ALL table operator

E071-03

Core

EXCEPT DISTINCT table operator

E071-05

Core

Columns combined via table operators need not have exactly the same data type

E071-06

Core

Table operators in subqueries

E081

Core

Basic Privileges

E081-01

Core

SELECT privilege

E081-02

Core

DELETE privilege

E081-03

Core

INSERT privilege at the table level

E081-04

Core

UPDATE privilege at the table level

E081-05

Core

UPDATE privilege at the column level

E081-06

Core

REFERENCES privilege at the table level

E081-07

Core

REFERENCES privilege at the column level

E081-08

Core

WITH GRANT OPTION

E081-09

Core

USAGE privilege

E081-10

Core

EXECUTE privilege

E091

Core

Set functions

E091-01

Core

AVG

E091-02

Core

COUNT

E091-03

Core

MAX

E091-04

Core

MIN

E091-05

Core

SUM

E091-06

Core

ALL quantifier

E091-07

Core

DISTINCT quantifier

E101

Core

Basic data manipulation

E101-01

Core

INSERT statement

E101-03

Core

Searched UPDATE statement

E101-04

Core

Searched DELETE statement

E111

Core

Single row SELECT statement

E121

Core

Basic cursor support

E121-01

Core

DECLARE CURSOR

E121-02

Core

ORDER BY columns need not be in select list

E121-03

Core

Value expressions in ORDER BY clause

E121-04

Core

OPEN statement

E121-06

Core

Positioned UPDATE statement

E121-07

Core

Positioned DELETE statement

E121-08

Core

CLOSE statement

E121-10

Core

FETCH statement implicit NEXT

E121-17

Core

WITH HOLD cursors

E131

Core

Null value support (nulls in lieu of values)

E141

Core

Basic integrity constraints

E141-01

Core

NOT NULL constraints

E141-02

Core

UNIQUE constraints of NOT NULL columns

E141-03

Core

PRIMARY KEY constraints

E141-04

Core

Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action

E141-06

Core

CHECK constraints

E141-07

Core

Column defaults

E141-08

Core

NOT NULL inferred on PRIMARY KEY

E141-10

Core

Names in a foreign key can be specified in any order

E151

Core

Transaction support

E151-01

Core

COMMIT statement

E151-02

Core

ROLLBACK statement

E152

Core

Basic SET TRANSACTION statement

E152-01

Core

SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause

E152-02

Core

SET TRANSACTION statement: READ ONLY and READ WRITE clauses

E153

Core

Updatable queries with subqueries

E161

Core

SQL comments using leading double minus

E171

Core

SQLSTATE support

E182

Core

Host language binding

F021

Core

Basic information schema

F021-01

Core

COLUMNS view

F021-02

Core

TABLES view

F021-03

Core

VIEWS view

F021-04

Core

TABLE_CONSTRAINTS view

F021-05

Core

REFERENTIAL_CONSTRAINTS view

F021-06

Core

CHECK_CONSTRAINTS view

F031

Core

Basic schema manipulation

F031-01

Core

CREATE TABLE statement to create persistent base tables

F031-02

Core

CREATE VIEW statement

F031-03

Core

GRANT statement

F031-04

Core

ALTER TABLE statement: ADD COLUMN clause

F031-13

Core

DROP TABLE statement: RESTRICT clause

F031-16

Core

DROP VIEW statement: RESTRICT clause

F031-19

Core

REVOKE statement: RESTRICT clause

F032

CASCADE drop behavior

F033

ALTER TABLE statement: DROP COLUMN clause

F034

Extended REVOKE statement

F034-01

REVOKE statement performed by other than the owner of a schema object

F034-02

REVOKE statement: GRANT OPTION FOR clause

F034-03

REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION

F041

Core

Basic joined table

F041-01

Core

Inner join (but not necessarily the INNER keyword)

F041-02

Core

INNER keyword

F041-03

Core

LEFT OUTER JOIN

F041-04

Core

RIGHT OUTER JOIN

F041-05

Core

Outer joins can be nested

F041-07

Core

The inner table in a left or right outer join can also be used in an inner join

F041-08

Core

All comparison operators are supported (rather than just =)

F051

Core

Basic date and time

F051-01

Core

DATE data type (including support of DATE literal)

F051-02

Core

TIME data type (including support of TIME literal) with fractional seconds precision of at least 0

F051-03

Core

TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6

F051-04

Core

Comparison predicate on DATE, TIME, and TIMESTAMP data types

F051-05

Core

Explicit CAST between datetime types and character string types

F051-06

Core

CURRENT_DATE

F051-07

Core

LOCALTIME

F051-08

Core

LOCALTIMESTAMP

F052

Intervals and datetime arithmetic

F053

OVERLAPS predicate

F081

Core

UNION and EXCEPT in views

F111

Isolation levels other than SERIALIZABLE

F111-01

READ UNCOMMITTED isolation level

F111-02

READ COMMITTED isolation level

F111-03

REPEATABLE READ isolation level

F131

Core

Grouped operations

F131-01

Core

WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views

F131-02

Core

Multiple tables supported in queries with grouped views

F131-03

Core

Set functions supported in queries with grouped views

F131-04

Core

Subqueries with GROUP BY and HAVING clauses and grouped views

F131-05

Core

Single row SELECT with GROUP BY and HAVING clauses and grouped views

F171

Multiple schemas per user

F181

Core

Multiple module support

F191

Referential delete actions

F200

TRUNCATE TABLE statement

F201

Core

CAST function

F202

TRUNCATE TABLE: identity column restart option

F221

Core

Explicit defaults

F222

INSERT statement: DEFAULT VALUES clause

F231

Privilege tables

F231-01

TABLE_PRIVILEGES view

F231-02

COLUMN_PRIVILEGES view

F231-03

USAGE_PRIVILEGES view

F251

Domain support

F261

Core

CASE expression

F261-01

Core

Simple CASE

F261-02

Core

Searched CASE

F261-03

Core

NULLIF

F261-04

Core

COALESCE

F262

Extended CASE expression

F271

Compound character literals

F281

LIKE enhancements

F292

UNIQUE null treatment

SQL:202x draft

F302

INTERSECT table operator

F302-01

INTERSECT DISTINCT table operator

F302-02

INTERSECT ALL table operator

F304

EXCEPT ALL table operator

F311

Core

Schema definition statement

F311-01

Core

CREATE SCHEMA

F311-02

Core

CREATE TABLE for persistent base tables

F311-03

Core

CREATE VIEW

F311-04

Core

CREATE VIEW: WITH CHECK OPTION

F311-05

Core

GRANT statement

F312

MERGE statement

F313

Enhanced MERGE statement

F314

MERGE statement with DELETE branch

F321

User authorization

F341

Usage tables

F361

Subprogram support

F381

Extended schema manipulation

F381-01

ALTER TABLE statement: ALTER COLUMN clause

F381-02

ALTER TABLE statement: ADD CONSTRAINT clause

F381-03

ALTER TABLE statement: DROP CONSTRAINT clause

F382

Alter column data type

F383

Set column not null clause

F384

Drop identity property clause

F385

Drop column generation expression clause

F386

Set identity column generation clause

F391

Long identifiers

F392

Unicode escapes in identifiers

F393

Unicode escapes in literals

F394

Optional normal form specification

F401

Extended joined table

F401-01

NATURAL JOIN

F401-02

FULL OUTER JOIN

F401-04

CROSS JOIN

F402

Named column joins for LOBs, arrays, and multisets

F404

Range variable for common column names

F411

Time zone specification

differences regarding literal interpretation

F421

National character

F431

Read-only scrollable cursors

F431-01

FETCH with explicit NEXT

F431-02

FETCH FIRST

F431-03

FETCH LAST

F431-04

FETCH PRIOR

F431-05

FETCH ABSOLUTE

F431-06

FETCH RELATIVE

F441

Extended set function support

F442

Mixed column references in set functions

F471

Core

Scalar subquery values

F481

Core

Expanded NULL predicate