E011 |
Numeric data types |
Yes |
|
E011-01 |
INTEGER and SMALLINT data types (including all spellings) |
Yes |
Int instead of Integer |
E011-02 |
REAL, DOUBLE PRECISON,and FLOAT data types |
Yes |
Double instead of Double Precision |
E011-03 |
DECIMAL and NUMERIC data types |
Yes |
|
E011-04 |
Arithmetic operators |
Yes |
|
E011-05 |
Numeric comparison |
Yes |
|
E011-06 |
Implicit casting among the numeric data types |
Yes |
|
E021 |
Character data types |
Yes |
|
E021-01 |
CHARACTER data type |
Yes |
Char instead of Character |
E021-02 |
CHARACTER VARYING data type |
Yes |
Varchar instead of Character Varying |
E021-03 |
Character literals |
Yes |
|
E021-04 |
CHARACTER_LENGTH function |
Partial |
length UDF provided |
E021-06 |
SUBSTRING function |
Yes |
|
E021-07 |
Character concatenation |
Yes |
concat UDF instead of standard |
E021-08 |
UPPER and LOWER functions |
Yes |
|
E021-09 |
TRIM function |
Partial |
leading / trailing / both from not supported |
E021-10 |
Implicit casting among the fixed-length and variablelength character string types |
Yes |
|
E021-12 |
Character comparison |
Yes |
|
E031 |
Identifiers |
Yes |
|
E031-01 |
Delimited identifiers |
Partial |
Backtick (`) used instead of ("). Semicolon character (;) cannot be used in an identifier. Table and column names have additional restrictions |
E031-03 |
Trailing underscore |
Yes |
|
E051 |
Basic query specification |
Yes |
|
E051-01 |
SELECT DISTINCT |
Yes |
|
E051-02 |
GROUP BY clause |
Partial |
Empty grouping sets not supported |
E051-04 |
GROUP BY can contain columns not in |
Yes |
|
E051-05 |
Select list items can be renamed |
Yes |
|
E051-06 |
HAVING clause |
Yes |
|
E051-07 |
Qualified * in select list |
Yes |
|
E051-08 |
Correlation names in the FROM clause |
Yes |
|
E061 |
Basic predicates and search conditions |
Yes |
|
E061-01 |
Comparison predicate |
Yes |
|
E061-02 |
BETWEEN predicate |
Yes |
|
E061-03 |
IN predicate with list of values |
Yes |
|
E061-04 |
LIKE predicate |
Yes |
|
E061-06 |
NULL predicate |
Yes |
|
E061-08 |
EXISTS predicate |
Yes |
|
E061-11 |
Subqueries in IN predicate |
Yes |
|
E061-13 |
Correlated subqueries |
Partial |
Only correlated subqueries that can be decorrelated with rewrite rules supported |
E071 |
Basic query expressions |
Yes |
|
E071-01 |
UNION DISTINCT table operator |
Partial |
Corresponding By syntax not supported |
E071-02 |
UNION ALL table operator |
Partial |
Corresponding By syntax not supported |
E071-05 |
Columns combined via table operators need not have exactly the same data type. |
Yes |
|
E071-06 |
Table operators in subqueries |
Yes |
|
E081 |
Basic Privileges |
Yes |
|
E081-01 |
SELECT privilege |
Yes |
|
E081-03 |
INSERT privilege at the table level |
Yes |
|
E081-04 |
UPDATE privilege at the table level |
Yes |
|
E081-08 |
WITH GRANT OPTION |
Yes |
|
E091 |
Set Functions |
Yes |
|
E091-01 |
AVG |
Yes |
|
E091-02 |
COUNT |
Yes |
|
E091-03 |
MAX |
Yes |
|
E091-04 |
MIN |
Yes |
|
E091-05 |
SUM |
Yes |
|
E091-07 |
DISTINCT quantifier |
Yes |
|
E101 |
Basic data manipulation |
Yes |
|
E101-01 |
INSERT statement |
Yes |
|
E101-03 |
Searched UPDATE statement |
Yes |
|
E101-04 |
Searched DELETE statement |
Yes |
|
E131 |
Null value support (nulls in lieu of values) |
Partial |
Null specification is supported |
E141 |
Basic integrity constraints |
Yes |
|
E141-03 |
PRIMARY KEY constraints |
Partial |
Non-validated |
E141-04 |
Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action |
Partial |
Non-validated |
E141-10 |
Names in a foreign key can be specified in any order |
Yes |
|
E151 |
Transaction support |
Partial |
Autocommit transaction for INSERT/UPDATE/DELETE |
E161 |
SQL comments using leading double minus |
Yes |
|
F031 |
Basic schema manipulation |
Yes |
|
F031-01 |
CREATE TABLE statement to create persistent base tables |
Yes |
|
F031-02 |
CREATE VIEW statement |
Yes |
|
F031-03 |
GRANT statement |
Yes |
|
F031-04 |
ALTER TABLE statement: ADD COLUMN clause |
Yes |
|
F031-13 |
DROP TABLE statement: RESTRICT clause |
Yes |
|
F031-16 |
DROP VIEW statement: RESTRICT clause |
Yes |
|
F041 |
Basic joined table |
Yes |
|
F041-01 |
Inner join (but not necessarily the INNER keyword) |
Yes |
Named columns join not supported |
F041-02 |
INNER keyword |
Yes |
|
F041-03 |
LEFT OUTER JOIN |
Yes |
|
F041-04 |
RIGHT OUTER JOIN |
Yes |
|
F041-05 |
Outer joins can be nested |
Yes |
|
F041-07 |
The inner table in a left or right outer join can also be used in an inner join |
Yes |
|
F051 |
Basic date and time |
Yes |
|
F051-01 |
DATE data type (including support of DATE literal) |
Yes |
|
F051-03 |
TIMESTAMP data type (including support of TIMES- TAMP literal) with fractional seconds precision of at least 0 and 6. |
Yes |
|
F051-04 |
Comparison predicate on DATE, TIME, and TIMES- TAMP data types |
Yes |
|
F051-05 |
Explicit CAST between date- time types and character string types |
Yes |
|
F051-06 |
CURRENT_DATE |
Yes |
|
F052 |
Intervals and datetime arithmetic |
Yes |
|
F081 |
UNION and EXCEPT in views |
Partial |
UNION only |
F131 |
Grouped operations |
Yes |
|
F131-01 |
WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views |
Yes |
|
F131-02 |
Multiple tables supported in queries with grouped views |
Yes |
|
F131-03 |
Set functions supported in queries with grouped views |
Yes |
|
F131-04 |
Subqueries with GROUP BY and HAVING clauses and grouped views |
Yes |
|
F171 |
Multiple schemas per user |
Yes |
|
F200 |
TRUNCATE TABLE statement |
Yes |
|
F201 |
CAST function |
Yes |
|
F261 |
CASE expression |
Yes |
|
F261-01 |
Simple CASE |
Yes |
|
F261-02 |
Searched CASE |
Yes |
|
F261-04 |
COALESCE |
Yes |
|
F311-01 |
CREATE SCHEMA |
Yes |
|
F311-02 |
CREATE TABLE for persistent base tables |
Yes |
|
F311-03 |
CREATE VIEW |
Yes |
|
F311-05 |
GRANT statement |
Yes |
|
F382 |
Alter column data type |
Yes |
Uses nonstandard syntax |
F391 |
Long identifiers |
Yes |
|
F401 |
Extended joined table |
Yes |
|
F401-01 |
NATURAL JOIN |
Yes |
|
F401-02 |
FULL OUTER JOIN |
Yes |
|
F401-04 |
CROSS JOIN |
Yes |
|
F403 |
Partitioned join tables |
Yes |
|
F531 |
Temporary tables |
Yes |
|
F555 |
Enhanced seconds precision |
Yes |
|
F561 |
Full value expressions |
Yes |
|
F591 |
Derived tables |
Yes |
|
F641 |
Row and table constructors |
Yes |
|
F651 |
Catalog name qualifiers |
Yes |
|
F846 |
Octet support in regular expression operators |
Yes |
|
F847 |
Nonconstant regular expressions |
Yes |
|
F850 |
Top-level in |
Yes |
|
F851 |
in subqueries |
Yes |
|
F852 |
Top-level in views |
Yes |
|
F855 |
Nested in |
Yes |
|
S023 |
Basic structured types |
Yes |
|
S091 |
Basic array support |
Yes |
|
S091-01 |
Arrays of built-in data types |
Yes |
|
S091-02 |
Arrays of distinct types |
Yes |
|
S098 |
ARRAY_AGG |
Partial |
collect_list does the same |
S201-01 |
Array parameters |
Yes |
|
S281 |
Nested collection types |
Yes |
|
T021 |
BINARY and VARBINARY data types |
Partial |
BINARY only |
T031 |
BOOLEAN data type |
Yes |
|
T051 |
Row types |
Yes |
|
T071 |
BIGINT data type |
Yes |
|
T121 |
WITH (excluding RECURSIVE) in query expression |
Yes |
|
T122 |
WITH (excluding RECURSIVE) in subquery |
Yes |
|
T172 |
AS subquery clause in table definition |
Yes |
|
T326 |
Table functions |
Yes |
|
T331 |
Basic roles |
Yes |
|
T431 |
Extended grouping capabilities |
Partial |
Grouping sets need to be extracted manually from a bitmask |
T433 |
Multiargument GROUPING function |
Yes |
|
T441 |
ABS and MOD functions |
Partial |
ABS provided, MOD provided via % operator |
T501 |
Enhanced EXISTS predicate |
Yes |
|
T581 |
Regular expression substring function |
Yes |
|
T611 |
Elementary OLAP operations |
Yes |
|
T612 |
Advanced OLAP operations |
Partial |
PERCENT_RANK, CUME_DIST and ROW_NUMBER supported |
T613 |
Sampling |
Yes |
Nonstandard syntax via TABLESAMPLE |
T614 |
NTILE function |
Yes |
|
T615 |
LEAD and LAG functions |
Yes |
|
T616 |
Null treatment option for LEAD and LAG functions |
Yes |
|
T617 |
FIRST_VALUE and LAST_VALUE functions |
Yes |
|
T621 |
Enhanced numeric functions |
Yes |
|
T631 |
IN predicate with one list element |
Yes |
|