D.1. Supported Features

IdentifierPackageDescriptionComment
B012 Embedded C
B021 Direct SQL
E011CoreNumeric data types
E011-01CoreINTEGER and SMALLINT data types
E011-02CoreREAL, DOUBLE PRECISION, and FLOAT data types
E011-03CoreDECIMAL and NUMERIC data types
E011-04CoreArithmetic operators
E011-05CoreNumeric comparison
E011-06CoreImplicit casting among the numeric data types
E021CoreCharacter data types
E021-01CoreCHARACTER data type
E021-02CoreCHARACTER VARYING data type
E021-03CoreCharacter literals
E021-04CoreCHARACTER_LENGTH functiontrims trailing spaces from CHARACTER values before counting
E021-05CoreOCTET_LENGTH function
E021-06CoreSUBSTRING function
E021-07CoreCharacter concatenation
E021-08CoreUPPER and LOWER functions
E021-09CoreTRIM function
E021-10CoreImplicit casting among the character string types
E021-11CorePOSITION function
E021-12CoreCharacter comparison
E031CoreIdentifiers
E031-01CoreDelimited identifiers
E031-02CoreLower case identifiers
E031-03CoreTrailing underscore
E051CoreBasic query specification
E051-01CoreSELECT DISTINCT
E051-02CoreGROUP BY clause
E051-04CoreGROUP BY can contain columns not in <select list>
E051-05CoreSelect list items can be renamed
E051-06CoreHAVING clause
E051-07CoreQualified * in select list
E051-08CoreCorrelation names in the FROM clause
E051-09CoreRename columns in the FROM clause
E061CoreBasic predicates and search conditions
E061-01CoreComparison predicate
E061-02CoreBETWEEN predicate
E061-03CoreIN predicate with list of values
E061-04CoreLIKE predicate
E061-05CoreLIKE predicate ESCAPE clause
E061-06CoreNULL predicate
E061-07CoreQuantified comparison predicate
E061-08CoreEXISTS predicate
E061-09CoreSubqueries in comparison predicate
E061-11CoreSubqueries in IN predicate
E061-12CoreSubqueries in quantified comparison predicate
E061-13CoreCorrelated subqueries
E061-14CoreSearch condition
E071CoreBasic query expressions
E071-01CoreUNION DISTINCT table operator
E071-02CoreUNION ALL table operator
E071-03CoreEXCEPT DISTINCT table operator
E071-05CoreColumns combined via table operators need not have exactly the same data type
E071-06CoreTable operators in subqueries
E081CoreBasic Privileges
E081-01CoreSELECT privilege
E081-02CoreDELETE privilege
E081-03CoreINSERT privilege at the table level
E081-04CoreUPDATE privilege at the table level
E081-05CoreUPDATE privilege at the column level
E081-06CoreREFERENCES privilege at the table level
E081-07CoreREFERENCES privilege at the column level
E081-08CoreWITH GRANT OPTION
E081-09CoreUSAGE privilege
E081-10CoreEXECUTE privilege
E091CoreSet functions
E091-01CoreAVG
E091-02CoreCOUNT
E091-03CoreMAX
E091-04CoreMIN
E091-05CoreSUM
E091-06CoreALL quantifier
E091-07CoreDISTINCT quantifier
E101CoreBasic data manipulation
E101-01CoreINSERT statement
E101-03CoreSearched UPDATE statement
E101-04CoreSearched DELETE statement
E111CoreSingle row SELECT statement
E121CoreBasic cursor support
E121-01CoreDECLARE CURSOR
E121-02CoreORDER BY columns need not be in select list
E121-03CoreValue expressions in ORDER BY clause
E121-04CoreOPEN statement
E121-06CorePositioned UPDATE statement
E121-07CorePositioned DELETE statement
E121-08CoreCLOSE statement
E121-10CoreFETCH statement implicit NEXT
E121-17CoreWITH HOLD cursors
E131CoreNull value support (nulls in lieu of values)
E141CoreBasic integrity constraints
E141-01CoreNOT NULL constraints
E141-02CoreUNIQUE constraints of NOT NULL columns
E141-03CorePRIMARY KEY constraints
E141-04CoreBasic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action
E141-06CoreCHECK constraints
E141-07CoreColumn defaults
E141-08CoreNOT NULL inferred on PRIMARY KEY
E141-10CoreNames in a foreign key can be specified in any order
E151CoreTransaction support
E151-01CoreCOMMIT statement
E151-02CoreROLLBACK statement
E152CoreBasic SET TRANSACTION statement
E152-01CoreSET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause
E152-02CoreSET TRANSACTION statement: READ ONLY and READ WRITE clauses
E153CoreUpdatable queries with subqueries
E161CoreSQL comments using leading double minus
E171CoreSQLSTATE support
F021CoreBasic information schema
F021-01CoreCOLUMNS view
F021-02CoreTABLES view
F021-03CoreVIEWS view
F021-04CoreTABLE_CONSTRAINTS view
F021-05CoreREFERENTIAL_CONSTRAINTS view
F021-06CoreCHECK_CONSTRAINTS view
F031CoreBasic schema manipulation
F031-01CoreCREATE TABLE statement to create persistent base tables
F031-02CoreCREATE VIEW statement
F031-03CoreGRANT statement
F031-04CoreALTER TABLE statement: ADD COLUMN clause
F031-13CoreDROP TABLE statement: RESTRICT clause
F031-16CoreDROP VIEW statement: RESTRICT clause
F031-19CoreREVOKE 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
F041CoreBasic joined table
F041-01CoreInner join (but not necessarily the INNER keyword)
F041-02CoreINNER keyword
F041-03CoreLEFT OUTER JOIN
F041-04CoreRIGHT OUTER JOIN
F041-05CoreOuter joins can be nested
F041-07CoreThe inner table in a left or right outer join can also be used in an inner join
F041-08CoreAll comparison operators are supported (rather than just =)
F051CoreBasic date and time
F051-01CoreDATE data type (including support of DATE literal)
F051-02CoreTIME data type (including support of TIME literal) with fractional seconds precision of at least 0
F051-03CoreTIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6
F051-04CoreComparison predicate on DATE, TIME, and TIMESTAMP data types
F051-05CoreExplicit CAST between datetime types and character string types
F051-06CoreCURRENT_DATE
F051-07CoreLOCALTIME
F051-08CoreLOCALTIMESTAMP
F052Enhanced datetime facilitiesIntervals and datetime arithmetic
F053 OVERLAPS predicate
F081CoreUNION 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
F131CoreGrouped operations
F131-01CoreWHERE, GROUP BY, and HAVING clauses supported in queries with grouped views
F131-02CoreMultiple tables supported in queries with grouped views
F131-03CoreSet functions supported in queries with grouped views
F131-04CoreSubqueries with GROUP BY and HAVING clauses and grouped views
F131-05CoreSingle row SELECT with GROUP BY and HAVING clauses and grouped views
F171 Multiple schemas per user
F191Enhanced integrity managementReferential delete actions
F200 TRUNCATE TABLE statement
F201CoreCAST function
F202 TRUNCATE TABLE: identity column restart option
F221CoreExplicit 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
F261CoreCASE expression
F261-01CoreSimple CASE
F261-02CoreSearched CASE
F261-03CoreNULLIF
F261-04CoreCOALESCE
F262 Extended CASE expression
F271 Compound character literals
F281 LIKE enhancements
F302 INTERSECT table operator
F302-01 INTERSECT DISTINCT table operator
F302-02 INTERSECT ALL table operator
F304 EXCEPT ALL table operator
F311-01CoreCREATE SCHEMA
F311-02CoreCREATE TABLE for persistent base tables
F311-03CoreCREATE VIEW
F311-04CoreCREATE VIEW: WITH CHECK OPTION
F311-05CoreGRANT statement
F321 User authorization
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
F386 Set identity column generation clause
F391 Long identifiers
F392 Unicode escapes in identifiers
F393 Unicode escapes in literals
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
F411Enhanced datetime facilitiesTime zone specificationdifferences 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
F471CoreScalar subquery values
F481CoreExpanded NULL predicate
F491Enhanced integrity managementConstraint management
F501CoreFeatures and conformance views
F501-01CoreSQL_FEATURES view
F501-02CoreSQL_SIZING view
F501-03CoreSQL_LANGUAGES view
F502 Enhanced documentation tables
F502-01 SQL_SIZING_PROFILES view
F502-02 SQL_IMPLEMENTATION_INFO view
F502-03 SQL_PACKAGES view
F531 Temporary tables
F555Enhanced datetime facilitiesEnhanced 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 supportbut no character set support
F692 Extended collation support
F701Enhanced integrity managementReferential 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>
S071Enhanced object supportSQL paths in function and type name resolution
S092 Arrays of user-defined types
S095 Array constructors by query
S096 Optional array bounds
S098 ARRAY_AGG
S111Enhanced object supportONLY in query expressions
S201 SQL-invoked routines on arrays
S201-01 Array parameters
S201-02 Array as result type of functions
S211Enhanced object supportUser-defined cast functions
S301 Enhanced UNNEST
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
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
T191Enhanced integrity managementReferential action RESTRICT
T201Enhanced integrity managementComparable data types for referential constraints
T211-01Active database, Enhanced integrity managementTriggers activated on UPDATE, INSERT, or DELETE of one base table
T211-02Active database, Enhanced integrity managementBEFORE triggers
T211-03Active database, Enhanced integrity managementAFTER triggers
T211-04Active database, Enhanced integrity managementFOR EACH ROW triggers
T211-05Active database, Enhanced integrity managementAbility to specify a search condition that must be true before the trigger is invoked
T211-07Active database, Enhanced integrity managementTRIGGER privilege
T212Enhanced integrity managementEnhanced trigger capability
T213 INSTEAD OF triggers
T231 Sensitive cursors
T241 START TRANSACTION statement
T271 Savepoints
T281 SELECT privilege with column granularity
T285 Enhanced derived column names
T312 OVERLAY function
T321-01CoreUser-defined functions with no overloading
T321-03CoreFunction invocation
T321-06CoreROUTINES view
T321-07CorePARAMETERS view
T323 Explicit security for external routines
T325 Qualified SQL parameter references
T331 Basic roles
T341 Overloading of SQL-invoked functions and procedures
T351 Bracketed SQL comments (/*...*/ comments)
T431OLAPExtended grouping capabilities
T432 Nested and concatenated GROUPING SETS
T433 Multiargument GROUPING function
T441 ABS and MOD functions
T461 Symmetric BETWEEN predicate
T491 LATERAL derived table
T501 Enhanced EXISTS predicate
T551 Optional key words for default syntax
T581 Regular expression substring function
T591 UNIQUE constraints of possibly null columns
T611OLAPElementary OLAP operations
T613 Sampling
T614 NTILE function
T615 LEAD and LAG functions
T617 FIRST_VALUE and LAST_VALUE function
T621 Enhanced numeric functions
T631CoreIN predicate with one list element
T651 SQL-schema statements in SQL routines
T655 Cyclically dependent routines
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
X222 XML passing mechanism BY REF
X301 XMLTable: derived column list option
X302 XMLTable: ordinality column option
X303 XMLTable: column default option
X304 XMLTable: passing a context itemmust be XML DOCUMENT
X400 Name and identifier mapping
X410 Alter column data type: XML type