| Feature ID |
Feature name |
Mimer SQL 9.2 |
DB2 7.2 |
SQL Server 2000 |
Oracle 9 |
| B011-B017 |
Embedded Language support. Core SQL:1999 says that at least one of Embedded Ada, Embedded C, Embedded Cobol, Embedded Fortran, Embedded MUMPS, Embedded Pascal or Embedded PL/I 1 should be supported. |
x |
x |
x |
x |
| E011 |
Numeric data types |
x |
x |
x |
x |
| E011-01 |
INTEGER and SMALLINT data types (including all spellings) |
x |
x |
x |
x |
| E011-02 |
REAL, DOUBLE PRECISON, and FLOAT data types |
x |
x |
x |
x |
| E011-03 |
DECIMAL and NUMERIC data types |
x |
x |
x |
x |
| E011-04 |
Arithmetic operators |
x |
x |
x |
x |
| E011-05 |
Numeric comparison |
x |
x |
x |
x |
| E011-06 |
Implicit casting among the numeric data types |
x |
x |
x |
x |
| E021 |
Character data types |
x |
|
|
|
| E021-01 |
CHARACTER data type (including all its spellings) |
x |
x |
x |
x |
| E021-02 |
CHARACTER VARYING data type (including all its spellings) |
x |
x |
x |
x |
| E021-03 |
Character literals |
x |
x |
x |
|
| E021-04 |
CHARACTER_LENGTH function |
x |
|
|
|
| E021-05 |
OCTET_LENGTH function |
x |
|
|
|
| E021-06 |
SUBSTRING function |
x |
|
|
|
| E021-07 |
Character concatenation |
x |
x |
|
x |
| E021-08 |
UPPER and LOWER functions |
x |
x |
x |
x |
| E021-09 |
TRIM function |
x |
|
|
x |
| E021-10 |
Implicit casting among the character data types |
x |
x |
x |
x |
| E021-11 |
POSITION function |
x |
|
|
|
| E021-12 |
Character comparison |
x |
x |
x |
x |
| E031 |
Identifiers |
x |
x |
x |
x |
| E031-01 |
Delimited identifiers |
x |
x |
x |
x |
| E031-02 |
Lower case identifiers |
x |
x |
x |
x |
| E031-03 |
Trailing underscore |
x |
x |
x |
x |
| E051 |
Basic query specification |
|
x |
|
|
| E051-01 |
SELECT DISTINCT |
x |
x |
x |
x |
| E051-02 |
GROUP BY clause |
x |
x |
x |
x |
| E051-04 |
GROUP BY can contain columns not in select-list |
x |
x |
x |
x |
| E051-05 |
Select list items can be renamed |
x |
x |
x |
|
| E051-06 |
HAVING clause |
x |
x |
x |
x |
| E051-07 |
Qualified * in select list |
x |
x |
x |
x |
| E051-08 |
Correlation names in the FROM clause |
x |
x |
x |
|
| E051-09 |
Rename columns in the FROM clause |
|
x |
|
x |
| E061 |
Basic predicates and search conditions |
x |
x |
x |
x |
| E061-01 |
Comparison predicate |
x |
x |
x |
x |
| E061-02 |
BETWEEN predicate |
x |
x |
x |
x |
| E061-03 |
IN predicate with list of values |
x |
x |
x |
x |
| E061-04 |
LIKE predicate |
x |
x |
x |
x |
| E061-05 |
LIKE predicate: ESCAPE clause |
x |
x |
x |
x |
| E061-06 |
NULL predicate |
x |
x |
x |
x |
| E061-07 |
Quantified comparison predicate |
x |
x |
x |
x |
| E061-08 |
EXISTS predicate |
x |
x |
x |
x |
| E061-09 |
Subqueries in comparison predicate |
x |
x |
x |
x |
| E061-11 |
Subqueries in IN predicate |
x |
x |
x |
x |
| E061-12 |
Subqueries in quantified comparison predicate |
x |
x |
x |
x |
| E061-13 |
Correlated subqueries |
x |
x |
x |
x |
| E061-14 |
Search condition |
x |
x |
x |
x |
| E071 |
Basic query expressions |
|
|
|
|
| E071-01 |
UNION DISTINCT table operator |
x |
|
|
x |
| E071-02 |
UNION ALL table operator |
x |
x |
x |
x |
| E071-03 |
EXCEPT DISTINCT table operator |
|
x |
|
|
| E071-05 |
Columns combined via table operators need not have exactly the same data type |
x |
x |
x |
x |
| E071-06 |
Table operators in subqueries |
|
x |
x |
x |
| E081 |
Basic Privileges |
x |
x |
x |
x |
| E081-01 |
SELECT privilege at the table level |
x |
x |
x |
x |
| E081-02 |
DELETE privilege |
x |
x |
x |
x |
| E081-03 |
INSERT privilege at the table level |
x |
x |
x |
x |
| E081-04 |
UPDATE privilege at the table level |
x |
x |
x |
x |
| E081-05 |
UPDATE privilege at the column level |
x |
x |
x |
x |
| E081-06 |
REFERENCES privilege at the table level |
x |
x |
x |
x |
| E081-07 |
REFERENCES privilege at the column level |
x |
x |
x |
x |
| E081-08 |
WITH GRANT OPTION |
x |
x |
x |
x |
| E081-09 |
USAGE privilege |
x |
x |
|
x |
| E081-10 |
EXECUTE privilege |
x |
x |
x |
x |
| E091 |
Set functions |
x |
x |
x |
x |
| E091-01 |
AVG |
x |
x |
x |
x |
| E091-02 |
COUNT |
x |
x |
x |
x |
| E091-03 |
MAX |
x |
x |
x |
x |
| E091-04 |
MIN |
x |
x |
x |
x |
| E091-05 |
SUM |
x |
x |
x |
x |
| E091-06 |
ALL quantifier |
x |
x |
x |
x |
| E091-07 |
DISTINCT quantifier |
x |
x |
x |
x |
| E101 |
Basic data manipulation |
x |
x |
x |
x |
| E101-01 |
INSERT statement |
x |
x |
x |
x |
| E101-03 |
Searched UPDATE statement |
x |
x |
x |
x |
| E101-04 |
Searched DELETE statement |
x |
x |
x |
x |
| E111 |
Single row SELECT statement |
x |
x |
x |
x |
| E121 |
Basic cursor support |
x |
x |
x |
x |
| E121-01 |
DECLARE CURSOR |
x |
x |
x |
x |
| E121-02 |
ORDER BY columns need not be in select list |
x |
|
x |
x |
| E121-03 |
Value expressions in ORDER BY clause |
x |
|
x |
x |
| E121-04 |
OPEN statement |
x |
x |
x |
x |
| E121-06 |
Positioned UPDATE statement |
x |
x |
x |
x |
| E121-07 |
Positioned DELETE statement |
x |
x |
x |
x |
| E121-08 |
CLOSE statement |
x |
x |
x |
x |
| E121-10 |
FETCH statement: implicit NEXT |
x |
x |
x |
x |
| E121-17 |
WITH HOLD cursors |
x |
x |
|
|
| E131 |
Null value support (nulls in lieu of values) |
x |
x |
x |
x |
| E141 |
Basic integrity constraints |
x |
|
x |
x |
| E141-01 |
NOT NULL constraints |
x |
x |
x |
x |
| E141-02 |
UNIQUE constraints of NOT NULL columns |
x |
x |
x |
x |
| E141-03 |
PRIMARY KEY constraints |
x |
x |
x |
x |
| E141-04 |
Basic FOREIGN KEY constraint with the NO ACTION default |
x |
x |
x |
x |
| E141-06 |
CHECK constraints |
x |
x |
x |
x |
| E141-07 |
Column defaults |
x |
x |
x |
x |
| E141-08 |
NOT NULL inferred on PRIMARY KEY |
x |
|
x |
x |
| E141-10 |
Names in a foreign key can be specified in any order |
x |
x |
x |
x |
| E151 |
Transaction support |
x |
|
|
x |
| E151-01 |
COMMIT statement |
x |
x |
x |
x |
| E151-02 |
ROLLBACK statement |
x |
x |
x |
x |
| E152 |
Basic SET TRANSACTION statement |
x |
|
|
x |
| E152-01 |
SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause |
x |
|
x |
x |
| E152-02 |
SET TRANSACTION statement: READ ONLY and READ WRITE clauses |
x |
|
|
x |
| E153 |
Updatable queries with subqueries |
x |
x |
x |
x |
| E161 |
SQL comments using leading double minus |
x |
x |
x |
x |
| E171 |
SQLSTATE support |
x |
x |
x |
x |
| F021 |
Basic information schema |
x |
|
x |
|
| F021-01 |
COLUMNS view |
x |
|
x |
|
| F021-02 |
TABLES view |
x |
|
x |
|
| F021-03 |
VIEWS view |
x |
|
x |
|
| F021-04 |
TABLE_CONSTRAINTS view |
x |
|
x |
|
| F021-05 |
REFERENTIAL_CONSTRAINTS view |
x |
|
x |
|
| F021-06 |
CHECK_CONSTRAINTS view |
x |
|
x |
|
| F031 |
Basic schema manipulation |
x |
|
|
|
| F031-01 |
CREATE TABLE statement to create persistent base tables |
x |
x |
x |
x |
| F031-02 |
CREATE VIEW statement |
x |
x |
x |
x |
| F031-03 |
GRANT statement |
x |
x |
x |
x |
| F031-04 |
ALTER TABLE statement: ADD COLUMN clause |
x |
x |
|
|
| F031-13 |
DROP TABLE statement: RESTRICT clause |
x |
|
|
|
| F031-16 |
DROP VIEW statement: RESTRICT clause |
x |
|
|
|
| F031-19 |
REVOKE statement: RESTRICT clause |
x |
|
|
|
| F041 |
Basic joined table |
x |
|
|
x |
| F041-01 |
Inner join (but not necessarily the INNER keyword) |
x |
|
|
x |
| F041-02 |
INNER keyword |
x |
x |
x |
x |
| F041-03 |
LEFT OUTER JOIN |
x |
x |
x |
x |
| F041-04 |
RIGHT OUTER JOIN |
x |
x |
x |
x |
| F041-05 |
Outer joins can be nested |
x |
x |
x |
x |
| F041-07 |
The inner table in a left or right outer join can also be used in an inner join |
x |
x |
x |
x |
| F041-08 |
All comparison operators are supported (rather than just =) |
x |
x |
x |
x |
| F051 |
Basic date and time |
x |
|
|
x |
| F051-01 |
DATE data type (including DATE literal) |
x |
x |
|
x |
| F051-02 |
TIME data type (including TIME literal) with fractional seconds precision of 0 |
x |
|
|
x |
| F051-03 |
TIMESTAMP data type (including TIMESTAMP literal) with fractional seconds precision of 0 and 6 |
x |
|
|
x |
| F051-04 |
Comparison predicate on DATE, TIME, and TIMESTAMP data types |
x |
x |
|
x |
| F051-05 |
Explicit CAST between datetime types and character types |
x |
x |
|
x |
| F051-06 |
CURRENT_DATE |
x |
|
|
x |
| F051-07 |
LOCALTIME |
x |
|
|
x |
| F051-08 |
LOCALTIMESTAMP |
x |
|
|
x |
| F081 |
UNION and EXCEPT in views |
x |
x |
x |
x |
| F131 |
Grouped operations |
x |
x |
x |
x |
| F131-01 |
WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views |
x |
x |
x |
x |
| F131-02 |
Multiple tables supported in queries with grouped views |
x |
x |
x |
x |
| F131-03 |
Set functions supported in queries with grouped views |
x |
x |
x |
x |
| F131-04 |
Subqueries with GROUP BY and HAVING clauses and grouped views |
x |
x |
x |
x |
| F131-05 |
Single row SELECT with GROUP BY and HAVING clauses and grouped views |
x |
x |
x |
x |
| F181 |
Multiple module support |
x |
x |
x |
x |
| F201 |
CAST function |
x |
x |
x |
x |
| F221 |
Explicit defaults |
x |
x |
x |
x |
| F261 |
CASE expression |
x |
x |
x |
x |
| F261-01 |
Simple CASE |
x |
x |
x |
x |
| F261-02 |
Searched CASE |
x |
x |
x |
x |
| F261_03 |
NULLIF |
x |
x |
x |
x |
| F261-04 |
COALESCE |
x |
x |
x |
x |
| F311 |
Schema definition statement |
x |
x |
x |
x |
| F311-01 |
CREATE SCHEMA |
x |
x |
x |
x |
| F311-02 |
CREATE TABLE for persistent base tables |
x |
x |
x |
x |
| F311-03 |
CREATE VIEW |
x |
x |
x |
x |
| F311-04 |
CREATE VIEW: WITH CHECK OPTION |
x |
x |
x |
x |
| F311-05 |
GRANT statement |
x |
x |
x |
x |
| F471 |
Scalar subquery values |
x |
x |
x |
x |
| F481 |
Expanded NULL predicate |
x |
x |
x |
x |
| F501 |
Features and conformance views |
x |
|
|
|
| F501-01 |
SQL_FEATURES view |
x |
|
|
|
| F501-02 |
SQL_SIZING view |
x |
|
|
|
| F501-03 |
SQL_LANGUAGES view |
x |
|
|
|
| F812 |
Basic flagging |
x |
|
|
|
| S011 |
Distinct data types |
|
x |
|
|
| S011-01 |
USER_DEFINED_TYPES view |
x |
|
|
|
| T321 |
Basic SQL-invoked routines |
x |
x |
x |
|
| T321-01 |
User-defined functions with no overloading |
x |
x |
|
|
| T321-02 |
User-defined stored procedures with no overloading |
x |
x |
|
|
| T321-03 |
Function invocation |
x |
x |
x |
x |
| T321-04 |
CALL statement |
x |
x |
x |
x |
| T321-05 |
RETURN statement |
x |
x |
x |
x |
| T321-06 |
ROUTINES view |
x |
|
x |
|
| T321-07 |
PARAMETERS view |
x |
|
x |
|
| |
|
|
|
|
|
| |
Number of supported features (in a total of 177): |
171 |
134 |
135 |
141 |
| |
Conformance to Core SQL:1999 in percent: |
97% |
76% |
77% |
80% |