| 
 | 
 | 
 | 
| E011 | 
Numeric data types | 
 | 
 | 
| E011-01 | 
INTEGER and SMALLINT data types (including all   spellings) | 
Yes | 
 | 
| E011-02 | 
REAL, DOUBLE PRECISION, and FLOAT data types | 
Yes | 
 | 
| E011-03 | 
DECIMAL and NUMERIC data types | 
No | 
 | 
| E011-04 | 
Arithmetic operators | 
Yes | 
 | 
| E011-05 | 
Numeric comparison | 
Yes | 
 | 
| E011-06 | 
Implicit casting among the numeric data types | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| E021 | 
Character string types | 
 | 
 | 
| E021-01 | 
CHARACTER data type (including all its spellings) | 
Yes | 
 | 
| E021-02 | 
CHARACTER VARYING data type (including all its   spellings) | 
Yes | 
 | 
| E021-03 | 
Character literals | 
Yes | 
 | 
| E021-04 | 
CHARACTER_LENGTH function | 
Yes | 
 | 
| E021-05 | 
OCTET_LENGTH function | 
Pending | 
 | 
| E021-06 | 
SUBSTRING function | 
Yes | 
 | 
| E021-07 | 
Character concatenation | 
Yes | 
 | 
| E021-08 | 
UPPER and LOWER functions | 
Yes | 
 | 
| E021-09 | 
TRIM function | 
Pending | 
 | 
| E021-10 | 
Implicit casting among the fixed-length and variable-length character   string types | 
Yes | 
 | 
| E021-11 | 
POSITION function | 
Yes | 
 | 
| E021-12 | 
Character comparison | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| E031 | 
Identifiers | 
 | 
 | 
| E031-01 | 
Delimited identifiers | 
Yes | 
 | 
| E031-02 | 
Lower case identifiers | 
Yes | 
 | 
| E031-03 | 
Trailing underscore | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| E051 | 
Basic query specification | 
 | 
 | 
| E051-01 | 
SELECT DISTINCT | 
Yes | 
 | 
| E051-02 | 
GROUP BY clause | 
Yes | 
 | 
| 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 | 
 | 
| E051-09 | 
Rename columns in the FROM clause | 
No | 
 | 
 | 
 | 
 | 
 | 
| E061 | 
Basic predicates and search conditions | 
 | 
 | 
| E061-01 | 
Comparison predicate | 
Yes | 
 | 
| E061-02 | 
BETWEEN predicate | 
Yes | 
 | 
| E061-03 | 
IN predicate with list of values | 
Yes | 
 | 
| E061-04 | 
LIKE predicate | 
Partial | 
Uses q-like syntax, replacing % with *: No underscore | 
| E061-05 | 
LIKE predicate: ESCAPE clause | 
No | 
 | 
| E061-06 | 
NULL predicate | 
Yes | 
 | 
| E061-07 | 
Quantified comparison predicate | 
Pending | 
 | 
| E061-08 | 
EXISTS predicate | 
Yes | 
 | 
| E061-09 | 
Subqueries in comparison predicate | 
Yes | 
 | 
| E061-11 | 
Subqueries in IN predicate | 
Yes | 
 | 
| E061-12 | 
Subqueries in quantified comparison predicate | 
Pending | 
 | 
| E061-13 | 
Correlated subqueries | 
Yes | 
 | 
| E061-14 | 
Search condition | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| E071 | 
Basic query expressions | 
 | 
 | 
| E071-01 | 
UNION DISTINCT table operator | 
Yes | 
 | 
| E071-02 | 
UNION ALL table operator | 
Yes | 
 | 
| E071-03 | 
EXCEPT DISTINCT table operator | 
Yes | 
 | 
| 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 | 
No | 
 | 
| E081-01 | 
SELECT privilege at the table level | 
No | 
 | 
| E081-02 | 
DELETE privilege | 
No | 
 | 
| E081-03 | 
INSERT privilege at the table level | 
No | 
 | 
| E081-04 | 
UPDATE privilege at the table level | 
No | 
 | 
| E081-05 | 
UPDATE privilege at the column level | 
No | 
 | 
| E081-06 | 
REFERENCES privilege at the table level | 
No | 
 | 
| E081-07 | 
REFERENCES privilege at the column level | 
No | 
 | 
| E081-08 | 
WITH GRANT OPTION | 
No | 
 | 
| E081-09 | 
USAGE privilege | 
No | 
 | 
| E081-10 | 
EXECUTE privilege | 
No | 
 | 
 | 
 | 
 | 
 | 
| E091 | 
Set functions | 
 | 
 | 
| E091-01 | 
AVG | 
Yes | 
 | 
| E091-02 | 
COUNT | 
Yes | 
 | 
| E091-03 | 
MAX | 
Yes | 
 | 
| E091-04 | 
MIN | 
Yes | 
 | 
| E091-05 | 
SUM | 
Yes | 
 | 
| E091-06 | 
ALL quantifier | 
Pending | 
 | 
| E091-07 | 
DISTINCT quantifier | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| E101 | 
Basic data manipulation | 
 | 
 | 
| E101-01 | 
INSERT statement | 
Yes | 
 | 
| E101-03 | 
Searched UPDATE statement | 
No | 
 | 
| E101-04 | 
Searched DELETE statement | 
No | 
 | 
 | 
 | 
 | 
 | 
| E111 | 
Single row SELECT statement | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| E121 | 
Basic cursor support | 
No | 
 | 
| E121-01 | 
DECLARE CURSOR | 
No | 
 | 
| E121-02 | 
ORDER BY columns need Not be in select list | 
Yes | 
 | 
| E121-03 | 
Value expressions in ORDER BY clause | 
Yes | 
 | 
| E121-04 | 
OPEN statement | 
No | 
 | 
| E121-06 | 
Positioned UPDATE statement | 
No | 
 | 
| E121-07 | 
Positioned DELETE statement | 
No | 
 | 
| E121-08 | 
CLOSE statement | 
No | 
 | 
| E121-10 | 
FETCH statement: implicit NEXT | 
No | 
 | 
| E121-17 | 
WITH HOLD cursors | 
No | 
 | 
| E131 | 
Null value support (nulls in lieu of values) | 
Partial | 
See 'nulls' in compatibility Notes | 
 | 
 | 
 | 
 | 
| E141 | 
Basic integrity constraints | 
No | 
 | 
| E141-01 | 
NoT NULL constraints | 
No | 
 | 
| E141-02 | 
UNIQUE constraints of NoT NULL columns | 
No | 
 | 
| E141-03 | 
PRIMARY KEY constraints | 
No | 
 | 
| E141-04 | 
Basic FOREIGN KEY constraint with the No ACTION default for both   referential delete action and referential update action | 
No | 
 | 
| E141-06 | 
CHECK constraints | 
No | 
 | 
| E141-07 | 
Column defaults | 
No | 
 | 
| E141-08 | 
NoT NULL inferred on PRIMARY KEY | 
No | 
 | 
| E141-10 | 
Names in a foreign key can be specified in any order | 
No | 
 | 
 | 
 | 
 | 
 | 
| E151 | 
Transaction support | 
No | 
 | 
| E151-01 | 
COMMIT statement | 
No | 
 | 
| E151-02 | 
ROLLBACK statement | 
No | 
 | 
| E152 | 
Basic SET TRANSACTION statement | 
No | 
 | 
| E152-01 | 
SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause | 
No | 
 | 
| E152-02 | 
SET TRANSACTION statement: READ ONLY and READ WRITE clauses | 
No | 
 | 
 | 
 | 
 | 
 | 
| E* | 
Other | 
 | 
 | 
| E153 | 
Updatable queries with subqueries | 
No | 
 | 
| E161 | 
SQL comments using leading double minus | 
Pending | 
 | 
| E171 | 
SQLSTATE support | 
No | 
 | 
| E182 | 
Host language binding (previously "Module   Language") | 
Yes | 
Called from q, can call q | 
 | 
 | 
 | 
 | 
| F021 | 
Basic information schema | 
 | 
 | 
| F021-01 | 
COLUMNS view | 
Pending | 
 | 
| F021-02 | 
TABLES view | 
Yes | 
 | 
| F021-03 | 
VIEWS view | 
Pending | 
 | 
| F021-04 | 
TABLE_CONSTRAINTS view | 
No | 
 | 
| F021-05 | 
REFERENTIAL_CONSTRAINTS view | 
No | 
 | 
| F021-06 | 
CHECK_CONSTRAINTS view | 
No | 
 | 
 | 
 | 
 | 
 | 
| F031 | 
Basic schema manipulation | 
 | 
 | 
| F031-01 | 
CREATE TABLE statement to create persistent base tables | 
Partial | 
No persistence | 
| F031-02 | 
CREATE VIEW statement | 
No | 
 | 
| F031-03 | 
GRANT statement | 
No | 
 | 
| F031-04 | 
ALTER TABLE statement: ADD COLUMN clause | 
No | 
 | 
| F031-13 | 
DROP TABLE statement: RESTRICT clause | 
Partial | 
No restrict | 
| F031-16 | 
DROP VIEW statement: RESTRICT clause | 
No | 
 | 
| F031-19 | 
REVOKE statement: RESTRICT clause | 
No | 
 | 
 | 
 | 
 | 
 | 
| F041 | 
Basic joined table | 
 | 
 | 
| F041-01 | 
Inner join (but Not necessarily the INNER keyword) | 
Yes | 
 | 
| 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 | 
 | 
| F041-08 | 
All comparison operators are supported (rather than just =) | 
No | 
 | 
 | 
 | 
 | 
 | 
| F051 | 
Basic date and time | 
 | 
 | 
| F051-01 | 
DATE data type (including support of DATE literal) | 
Yes | 
 | 
| F051-02 | 
TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 | 
Yes | 
 | 
| F051-03 | 
TIMESTAMP data type (including support of TIMESTAMP   literal) with fractional seconds precision of at   least 0 and 6 | 
Yes | 
 | 
| F051-04 | 
Comparison predicate on DATE, TIME, and TIMESTAMP data types | 
Yes | 
 | 
| F051-05 | 
Explicit CAST between datetime types and character string types | 
Yes | 
 | 
| F051-06 | 
CURRENT_DATE | 
Yes | 
 | 
| F051-07 | 
LOCALTIME | 
Yes | 
 | 
| F051-08 | 
LOCALTIMESTAMP | 
Yes | 
 | 
| F081 | 
UNION and EXCEPT in views | 
No | 
 | 
 | 
 | 
 | 
 | 
| F131 | 
Grouped operations | 
No | 
 | 
| F131-01 | 
WHERE, GROUP BY, and HAVING clauses supported in queries with grouped   views | 
No | 
 | 
| F131-02 | 
Multiple tables supported in queries with grouped views | 
No | 
 | 
| F131-03 | 
Set functions supported in queries with grouped views | 
No | 
 | 
| F131-04 | 
Subqueries with GROUP BY and HAVING clauses and grouped views | 
No | 
 | 
| F131-05 | 
Single row SELECT with GROUP BY and HAVING clauses and grouped views | 
No | 
 | 
 | 
 | 
 | 
 | 
| F* | 
Other | 
 | 
 | 
| F181 | 
Multiple module support | 
No | 
 | 
| F201 | 
CAST function | 
Yes | 
 | 
| F221 | 
Explicit defaults | 
No | 
 | 
 | 
 | 
 | 
 | 
| F261 | 
CASE expression | 
 | 
 | 
| F261-01 | 
Simple CASE | 
Yes | 
 | 
| F261-02 | 
Searched CASE | 
Yes | 
 | 
| F261-03 | 
NULLIF | 
Yes | 
 | 
| F261-04 | 
COALESCE | 
Yes | 
 | 
 | 
 | 
 | 
 | 
| F311 | 
Schema definition statement | 
No | 
 | 
| F311-01 | 
CREATE SCHEMA | 
No | 
 | 
| F311-02 | 
CREATE TABLE for persistent base tables | 
No | 
 | 
| F311-03 | 
CREATE VIEW | 
No | 
 | 
| F311-04 | 
CREATE VIEW: WITH CHECK OPTION | 
No | 
 | 
| F311-05 | 
GRANT statement | 
No | 
 | 
| F471 | 
Scalar subquery values | 
Yes | 
 | 
| F481 | 
Expanded NULL predicate | 
No | 
 | 
 | 
 | 
 | 
 | 
| F501 | 
Features and conformance views | 
No | 
 | 
| F501-01 | 
SQL_FEATURES view | 
No | 
 | 
| F501-02 | 
SQL_SIZING view | 
No | 
 | 
| F501-03 | 
SQL_LANGUAGES view | 
No | 
 | 
| F812 | 
Basic flagging | 
No | 
 | 
| S011 | 
Distinct data types | 
No | 
 | 
| S011-01 | 
USER_DEFINED_TYPES view | 
No | 
 | 
 | 
 | 
 | 
 | 
| T321 | 
Basic SQL-invoked routines | 
 | 
 | 
| T321-01 | 
User-defined functions with No overloading | 
Yes | 
q fns can be converted to SQL fns with .s.fs and added to .s.F | 
| T321-02 | 
User-defined stored procedures with No overloading | 
No | 
 | 
| T321-03 | 
Function invocation | 
Yes | 
 | 
| T321-04 | 
CALL statement | 
No | 
 | 
| T321-05 | 
RETURN statement | 
No | 
 | 
| T321-06 | 
ROUTINES view | 
No | 
 | 
| T321-07 | 
PARAMETERS view | 
No | 
 | 
| T631 | 
IN predicate with one list element | 
Yes | 
 |