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 |
|
F491 |
| Constraint management |
|
F501 | Core | Features and conformance views |
|
F501-01 | Core | SQL_FEATURES view |
|
F501-02 | Core | SQL_SIZING view |
|
F502 |
| Enhanced documentation tables |
|
F531 |
| Temporary tables |
|
F555 |
| Enhanced seconds precision |
|
F561 |
| Full value expressions |
|
F571 |
| Truth value tests |
|
F591 |
| Derived tables |
|
F611 |
| Indicator data types |
|
F641 |
| Row and table constructors |
|
F651 |
| Catalog name qualifiers |
|
F661 |
| Simple tables |
|
F672 |
| Retrospective check constraints |
|
F690 |
| Collation support | but no character set support |
F692 |
| Extended collation support |
|
F701 |
| Referential update actions |
|
F711 |
| ALTER domain |
|
F731 |
| INSERT column privileges |
|
F751 |
| View CHECK enhancements |
|
F761 |
| Session management |
|
F762 |
| CURRENT_CATALOG |
|
F763 |
| CURRENT_SCHEMA |
|
F771 |
| Connection management |
|
F781 |
| Self-referencing operations |
|
F791 |
| Insensitive cursors |
|
F801 |
| Full set function |
|
F850 |
| Top-level <order by clause> in <query expression> |
|
F851 |
| <order by clause> in subqueries |
|
F852 |
| Top-level <order by clause> in views |
|
F855 |
| Nested <order by clause> in <query expression> |
|
F856 |
| Nested <fetch first clause> in <query expression> |
|
F857 |
| Top-level <fetch first clause> in <query expression> |
|
F858 |
| <fetch first clause> in subqueries |
|
F859 |
| Top-level <fetch first clause> in views |
|
F860 |
| <fetch first row count> in <fetch first clause> |
|
F861 |
| Top-level <result offset clause> in <query expression> |
|
F862 |
| <result offset clause> in subqueries |
|
F863 |
| Nested <result offset clause> in <query expression> |
|
F864 |
| Top-level <result offset clause> in views |
|
F865 |
| <offset row count> in <result offset clause> |
|
F867 |
| FETCH FIRST clause: WITH TIES option |
|
S071 |
| SQL paths in function and type name resolution |
|
S091-01 |
| Arrays of built-in data types |
|
S091-03 |
| Array expressions |
|
S092 |
| Arrays of user-defined types |
|
S095 |
| Array constructors by query |
|
S096 |
| Optional array bounds |
|
S098 |
| ARRAY_AGG |
|
S111 |
| ONLY in query expressions |
|
S201 |
| SQL-invoked routines on arrays |
|
S201-01 |
| Array parameters |
|
S201-02 |
| Array as result type of functions |
|
S211 |
| User-defined cast functions |
|
S301 |
| Enhanced UNNEST |
|
S404 |
| TRIM_ARRAY |
|
T031 |
| BOOLEAN data type |
|
T071 |
| BIGINT data type |
|
T121 |
| WITH (excluding RECURSIVE) in query expression |
|
T122 |
| WITH (excluding RECURSIVE) in subquery |
|
T131 |
| Recursive query |
|
T132 |
| Recursive query in subquery |
|
T133 |
| Enhanced cycle mark values | SQL:202x draft |
T141 |
| SIMILAR predicate |
|
T151 |
| DISTINCT predicate |
|
T152 |
| DISTINCT predicate with negation |
|
T171 |
| LIKE clause in table definition |
|
T172 |
| AS subquery clause in table definition |
|
T173 |
| Extended LIKE clause in table definition |
|
T174 |
| Identity columns |
|
T177 |
| Sequence generator support: simple restart option |
|
T178 |
| Identity columns: simple restart option |
|
T191 |
| Referential action RESTRICT |
|
T201 |
| Comparable data types for referential constraints |
|
T211-01 |
| Triggers activated on UPDATE, INSERT, or DELETE of one base table |
|
T211-02 |
| BEFORE triggers |
|
T211-03 |
| AFTER triggers |
|
T211-04 |
| FOR EACH ROW triggers |
|
T211-05 |
| Ability to specify a search condition that must be true before the trigger is invoked |
|
T211-07 |
| TRIGGER privilege |
|
T212 |
| Enhanced trigger capability |
|
T213 |
| INSTEAD OF triggers |
|
T241 |
| START TRANSACTION statement |
|
T261 |
| Chained transactions |
|
T271 |
| Savepoints |
|
T281 |
| SELECT privilege with column granularity |
|
T285 |
| Enhanced derived column names |
|
T312 |
| OVERLAY function |
|
T321-01 | Core | User-defined functions with no overloading |
|
T321-02 | Core | User-defined stored procedures with no overloading |
|
T321-03 | Core | Function invocation |
|
T321-04 | Core | CALL statement |
|
T321-05 | Core | RETURN statement |
|
T321-06 | Core | ROUTINES view |
|
T321-07 | Core | PARAMETERS view |
|
T323 |
| Explicit security for external routines |
|
T325 |
| Qualified SQL parameter references |
|
T331 |
| Basic roles |
|
T332 |
| Extended roles |
|
T341 |
| Overloading of SQL-invoked functions and procedures |
|
T351 |
| Bracketed SQL comments (/*...*/ comments) |
|
T431 |
| Extended grouping capabilities |
|
T432 |
| Nested and concatenated GROUPING SETS |
|
T433 |
| Multiargument GROUPING function |
|
T434 |
| GROUP BY DISTINCT |
|
T441 |
| ABS and MOD functions |
|
T461 |
| Symmetric BETWEEN predicate |
|
T491 |
| LATERAL derived table |
|
T501 |
| Enhanced EXISTS predicate |
|
T521 |
| Named arguments in CALL statement |
|
T523 |
| Default values for INOUT parameters of SQL-invoked procedures |
|
T524 |
| Named arguments in routine invocations other than a CALL statement |
|
T525 |
| Default values for parameters of SQL-invoked functions |
|
T551 |
| Optional key words for default syntax |
|
T581 |
| Regular expression substring function |
|
T591 |
| UNIQUE constraints of possibly null columns |
|
T611 |
| Elementary OLAP operations |
|
T612 |
| Advanced OLAP operations |
|
T613 |
| Sampling |
|
T614 |
| NTILE function |
|
T615 |
| LEAD and LAG functions |
|
T617 |
| FIRST_VALUE and LAST_VALUE function |
|
T620 |
| WINDOW clause: GROUPS option |
|
T621 |
| Enhanced numeric functions |
|
T622 |
| Trigonometric functions |
|
T623 |
| General logarithm functions |
|
T624 |
| Common logarithm functions |
|
T631 | Core | IN predicate with one list element |
|
T651 |
| SQL-schema statements in SQL routines |
|
T653 |
| SQL-schema statements in external routines |
|
T655 |
| Cyclically dependent routines |
|
T831 |
| SQL/JSON path language: strict mode |
|
T832 |
| SQL/JSON path language: item method |
|
T833 |
| SQL/JSON path language: multiple subscripts |
|
T834 |
| SQL/JSON path language: wildcard member accessor |
|
T835 |
| SQL/JSON path language: filter expressions |
|
T836 |
| SQL/JSON path language: starts with predicate |
|
T837 |
| SQL/JSON path language: regex_like predicate |
|
X010 |
| XML type |
|
X011 |
| Arrays of XML type |
|
X014 |
| Attributes of XML type |
|
X016 |
| Persistent XML values |
|
X020 |
| XMLConcat |
|
X031 |
| XMLElement |
|
X032 |
| XMLForest |
|
X034 |
| XMLAgg |
|
X035 |
| XMLAgg: ORDER BY option |
|
X036 |
| XMLComment |
|
X037 |
| XMLPI |
|
X040 |
| Basic table mapping |
|
X041 |
| Basic table mapping: nulls absent |
|
X042 |
| Basic table mapping: null as nil |
|
X043 |
| Basic table mapping: table as forest |
|
X044 |
| Basic table mapping: table as element |
|
X045 |
| Basic table mapping: with target namespace |
|
X046 |
| Basic table mapping: data mapping |
|
X047 |
| Basic table mapping: metadata mapping |
|
X048 |
| Basic table mapping: base64 encoding of binary strings |
|
X049 |
| Basic table mapping: hex encoding of binary strings |
|
X050 |
| Advanced table mapping |
|
X051 |
| Advanced table mapping: nulls absent |
|
X052 |
| Advanced table mapping: null as nil |
|
X053 |
| Advanced table mapping: table as forest |
|
X054 |
| Advanced table mapping: table as element |
|
X055 |
| Advanced table mapping: with target namespace |
|
X056 |
| Advanced table mapping: data mapping |
|
X057 |
| Advanced table mapping: metadata mapping |
|
X058 |
| Advanced table mapping: base64 encoding of binary strings |
|
X059 |
| Advanced table mapping: hex encoding of binary strings |
|
X060 |
| XMLParse: character string input and CONTENT option |
|
X061 |
| XMLParse: character string input and DOCUMENT option |
|
X070 |
| XMLSerialize: character string serialization and CONTENT option |
|
X071 |
| XMLSerialize: character string serialization and DOCUMENT option |
|
X072 |
| XMLSerialize: character string serialization |
|
X090 |
| XML document predicate |
|
X120 |
| XML parameters in SQL routines |
|
X121 |
| XML parameters in external routines |
|
X221 |
| XML passing mechanism BY VALUE |
|
X301 |
| XMLTable: derived column list option |
|
X302 |
| XMLTable: ordinality column option |
|
X303 |
| XMLTable: column default option |
|
X304 |
| XMLTable: passing a context item | must be XML DOCUMENT |
X400 |
| Name and identifier mapping |
|
X410 |
| Alter column data type: XML type |
|