1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
|
B011 Embedded Ada NO
B012 Embedded C YES
B013 Embedded COBOL NO
B014 Embedded Fortran NO
B015 Embedded MUMPS NO
B016 Embedded Pascal NO
B017 Embedded PL/I NO
B021 Direct SQL YES
B031 Basic dynamic SQL NO
B032 Extended dynamic SQL NO
B032 Extended dynamic SQL 01 <describe input statement> NO
B033 Untyped SQL-invoked function arguments NO
B034 Dynamic specification of cursor attributes NO
B035 Non-extended descriptor names NO
B041 Extensions to embedded SQL exception declarations NO
B051 Enhanced execution rights NO
B111 Module language Ada NO
B112 Module language C NO
B113 Module language COBOL NO
B114 Module language Fortran NO
B115 Module language MUMPS NO
B116 Module language Pascal NO
B117 Module language PL/I NO
B121 Routine language Ada NO
B122 Routine language C NO
B123 Routine language COBOL NO
B124 Routine language Fortran NO
B125 Routine language MUMPS NO
B126 Routine language Pascal NO
B127 Routine language PL/I NO
B128 Routine language SQL YES
B200 Polymorphic table functions NO
B201 More than one PTF generic table parameter NO
B202 PTF Copartitioning NO
B203 More than one copartition specification NO
B204 PRUNE WHEN EMPTY NO
B205 Pass-through columns NO
B206 PTF descriptor parameters NO
B207 Cross products of partitionings NO
B208 PTF component procedure interface NO
B209 PTF extended names NO
B211 Module language Ada: VARCHAR and NUMERIC support NO
B221 Routine language Ada: VARCHAR and NUMERIC support NO
E011 Numeric data types YES
E011 Numeric data types 01 INTEGER and SMALLINT data types YES
E011 Numeric data types 02 REAL, DOUBLE PRECISION, and FLOAT data types YES
E011 Numeric data types 03 DECIMAL and NUMERIC data types YES
E011 Numeric data types 04 Arithmetic operators YES
E011 Numeric data types 05 Numeric comparison YES
E011 Numeric data types 06 Implicit casting among the numeric data types YES
E021 Character data types YES
E021 Character string types 01 CHARACTER data type YES
E021 Character string types 02 CHARACTER VARYING data type YES
E021 Character string types 03 Character literals YES
E021 Character string types 04 CHARACTER_LENGTH function YES trims trailing spaces from CHARACTER values before counting
E021 Character string types 05 OCTET_LENGTH function YES
E021 Character string types 06 SUBSTRING function YES
E021 Character string types 07 Character concatenation YES
E021 Character string types 08 UPPER and LOWER functions YES
E021 Character string types 09 TRIM function YES
E021 Character string types 10 Implicit casting among the character string types YES
E021 Character string types 11 POSITION function YES
E021 Character string types 12 Character comparison YES
E031 Identifiers YES
E031 Identifiers 01 Delimited identifiers YES
E031 Identifiers 02 Lower case identifiers YES
E031 Identifiers 03 Trailing underscore YES
E051 Basic query specification YES
E051 Basic query specification 01 SELECT DISTINCT YES
E051 Basic query specification 02 GROUP BY clause YES
E051 Basic query specification 04 GROUP BY can contain columns not in <select list> YES
E051 Basic query specification 05 Select list items can be renamed YES
E051 Basic query specification 06 HAVING clause YES
E051 Basic query specification 07 Qualified * in select list YES
E051 Basic query specification 08 Correlation names in the FROM clause YES
E051 Basic query specification 09 Rename columns in the FROM clause YES
E061 Basic predicates and search conditions YES
E061 Basic predicates and search conditions 01 Comparison predicate YES
E061 Basic predicates and search conditions 02 BETWEEN predicate YES
E061 Basic predicates and search conditions 03 IN predicate with list of values YES
E061 Basic predicates and search conditions 04 LIKE predicate YES
E061 Basic predicates and search conditions 05 LIKE predicate ESCAPE clause YES
E061 Basic predicates and search conditions 06 NULL predicate YES
E061 Basic predicates and search conditions 07 Quantified comparison predicate YES
E061 Basic predicates and search conditions 08 EXISTS predicate YES
E061 Basic predicates and search conditions 09 Subqueries in comparison predicate YES
E061 Basic predicates and search conditions 11 Subqueries in IN predicate YES
E061 Basic predicates and search conditions 12 Subqueries in quantified comparison predicate YES
E061 Basic predicates and search conditions 13 Correlated subqueries YES
E061 Basic predicates and search conditions 14 Search condition YES
E071 Basic query expressions YES
E071 Basic query expressions 01 UNION DISTINCT table operator YES
E071 Basic query expressions 02 UNION ALL table operator YES
E071 Basic query expressions 03 EXCEPT DISTINCT table operator YES
E071 Basic query expressions 05 Columns combined via table operators need not have exactly the same data type YES
E071 Basic query expressions 06 Table operators in subqueries YES
E081 Basic Privileges YES
E081 Basic Privileges 01 SELECT privilege YES
E081 Basic Privileges 02 DELETE privilege YES
E081 Basic Privileges 03 INSERT privilege at the table level YES
E081 Basic Privileges 04 UPDATE privilege at the table level YES
E081 Basic Privileges 05 UPDATE privilege at the column level YES
E081 Basic Privileges 06 REFERENCES privilege at the table level YES
E081 Basic Privileges 07 REFERENCES privilege at the column level YES
E081 Basic Privileges 08 WITH GRANT OPTION YES
E081 Basic Privileges 09 USAGE privilege YES
E081 Basic Privileges 10 EXECUTE privilege YES
E091 Set functions YES
E091 Set functions 01 AVG YES
E091 Set functions 02 COUNT YES
E091 Set functions 03 MAX YES
E091 Set functions 04 MIN YES
E091 Set functions 05 SUM YES
E091 Set functions 06 ALL quantifier YES
E091 Set functions 07 DISTINCT quantifier YES
E101 Basic data manipulation YES
E101 Basic data manipulation 01 INSERT statement YES
E101 Basic data manipulation 03 Searched UPDATE statement YES
E101 Basic data manipulation 04 Searched DELETE statement YES
E111 Single row SELECT statement YES
E121 Basic cursor support YES
E121 Basic cursor support 01 DECLARE CURSOR YES
E121 Basic cursor support 02 ORDER BY columns need not be in select list YES
E121 Basic cursor support 03 Value expressions in ORDER BY clause YES
E121 Basic cursor support 04 OPEN statement YES
E121 Basic cursor support 06 Positioned UPDATE statement YES
E121 Basic cursor support 07 Positioned DELETE statement YES
E121 Basic cursor support 08 CLOSE statement YES
E121 Basic cursor support 10 FETCH statement implicit NEXT YES
E121 Basic cursor support 17 WITH HOLD cursors YES
E131 Null value support (nulls in lieu of values) YES
E141 Basic integrity constraints YES
E141 Basic integrity constraints 01 NOT NULL constraints YES
E141 Basic integrity constraints 02 UNIQUE constraints of NOT NULL columns YES
E141 Basic integrity constraints 03 PRIMARY KEY constraints YES
E141 Basic integrity constraints 04 Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action YES
E141 Basic integrity constraints 06 CHECK constraints YES
E141 Basic integrity constraints 07 Column defaults YES
E141 Basic integrity constraints 08 NOT NULL inferred on PRIMARY KEY YES
E141 Basic integrity constraints 10 Names in a foreign key can be specified in any order YES
E151 Transaction support YES
E151 Transaction support 01 COMMIT statement YES
E151 Transaction support 02 ROLLBACK statement YES
E152 Basic SET TRANSACTION statement YES
E152 Basic SET TRANSACTION statement 01 SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause YES
E152 Basic SET TRANSACTION statement 02 SET TRANSACTION statement: READ ONLY and READ WRITE clauses YES
E153 Updatable queries with subqueries YES
E161 SQL comments using leading double minus YES
E171 SQLSTATE support YES
E182 Host language binding YES
F021 Basic information schema YES
F021 Basic information schema 01 COLUMNS view YES
F021 Basic information schema 02 TABLES view YES
F021 Basic information schema 03 VIEWS view YES
F021 Basic information schema 04 TABLE_CONSTRAINTS view YES
F021 Basic information schema 05 REFERENTIAL_CONSTRAINTS view YES
F021 Basic information schema 06 CHECK_CONSTRAINTS view YES
F031 Basic schema manipulation YES
F031 Basic schema manipulation 01 CREATE TABLE statement to create persistent base tables YES
F031 Basic schema manipulation 02 CREATE VIEW statement YES
F031 Basic schema manipulation 03 GRANT statement YES
F031 Basic schema manipulation 04 ALTER TABLE statement: ADD COLUMN clause YES
F031 Basic schema manipulation 13 DROP TABLE statement: RESTRICT clause YES
F031 Basic schema manipulation 16 DROP VIEW statement: RESTRICT clause YES
F031 Basic schema manipulation 19 REVOKE statement: RESTRICT clause YES
F032 CASCADE drop behavior YES
F033 ALTER TABLE statement: DROP COLUMN clause YES
F034 Extended REVOKE statement YES
F034 Extended REVOKE statement 01 REVOKE statement performed by other than the owner of a schema object YES
F034 Extended REVOKE statement 02 REVOKE statement: GRANT OPTION FOR clause YES
F034 Extended REVOKE statement 03 REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION YES
F041 Basic joined table YES
F041 Basic joined table 01 Inner join (but not necessarily the INNER keyword) YES
F041 Basic joined table 02 INNER keyword YES
F041 Basic joined table 03 LEFT OUTER JOIN YES
F041 Basic joined table 04 RIGHT OUTER JOIN YES
F041 Basic joined table 05 Outer joins can be nested YES
F041 Basic joined table 07 The inner table in a left or right outer join can also be used in an inner join YES
F041 Basic joined table 08 All comparison operators are supported (rather than just =) YES
F051 Basic date and time YES
F051 Basic date and time 01 DATE data type (including support of DATE literal) YES
F051 Basic date and time 02 TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 YES
F051 Basic date and time 03 TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 YES
F051 Basic date and time 04 Comparison predicate on DATE, TIME, and TIMESTAMP data types YES
F051 Basic date and time 05 Explicit CAST between datetime types and character string types YES
F051 Basic date and time 06 CURRENT_DATE YES
F051 Basic date and time 07 LOCALTIME YES
F051 Basic date and time 08 LOCALTIMESTAMP YES
F052 Intervals and datetime arithmetic YES
F053 OVERLAPS predicate YES
F054 TIMESTAMP in DATE type precedence list NO
F081 UNION and EXCEPT in views YES
F111 Isolation levels other than SERIALIZABLE YES
F111 Isolation levels other than SERIALIZABLE 01 READ UNCOMMITTED isolation level YES
F111 Isolation levels other than SERIALIZABLE 02 READ COMMITTED isolation level YES
F111 Isolation levels other than SERIALIZABLE 03 REPEATABLE READ isolation level YES
F121 Basic diagnostics management NO
F121 Basic diagnostics management 01 GET DIAGNOSTICS statement NO
F121 Basic diagnostics management 02 SET TRANSACTION statement: DIAGNOSTICS SIZE clause NO
F122 Enhanced diagnostics management NO
F123 All diagnostics NO
F131 Grouped operations YES
F131 Grouped operations 01 WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views YES
F131 Grouped operations 02 Multiple tables supported in queries with grouped views YES
F131 Grouped operations 03 Set functions supported in queries with grouped views YES
F131 Grouped operations 04 Subqueries with GROUP BY and HAVING clauses and grouped views YES
F131 Grouped operations 05 Single row SELECT with GROUP BY and HAVING clauses and grouped views YES
F171 Multiple schemas per user YES
F181 Multiple module support YES
F191 Referential delete actions YES
F200 TRUNCATE TABLE statement YES
F201 CAST function YES
F202 TRUNCATE TABLE: identity column restart option YES
F221 Explicit defaults YES
F222 INSERT statement: DEFAULT VALUES clause YES
F231 Privilege tables YES
F231 Privilege tables 01 TABLE_PRIVILEGES view YES
F231 Privilege tables 02 COLUMN_PRIVILEGES view YES
F231 Privilege tables 03 USAGE_PRIVILEGES view YES
F251 Domain support YES
F261 CASE expression YES
F261 CASE expression 01 Simple CASE YES
F261 CASE expression 02 Searched CASE YES
F261 CASE expression 03 NULLIF YES
F261 CASE expression 04 COALESCE YES
F262 Extended CASE expression YES
F263 Comma-separated predicates in simple CASE expression NO
F271 Compound character literals YES
F281 LIKE enhancements YES
F291 UNIQUE predicate NO
F292 UNIQUE null treatment YES SQL:202x draft
F301 CORRESPONDING in query expressions NO
F302 INTERSECT table operator YES
F302 INTERSECT table operator 01 INTERSECT DISTINCT table operator YES
F302 INTERSECT table operator 02 INTERSECT ALL table operator YES
F304 EXCEPT ALL table operator YES
F311 Schema definition statement YES
F311 Schema definition statement 01 CREATE SCHEMA YES
F311 Schema definition statement 02 CREATE TABLE for persistent base tables YES
F311 Schema definition statement 03 CREATE VIEW YES
F311 Schema definition statement 04 CREATE VIEW: WITH CHECK OPTION YES
F311 Schema definition statement 05 GRANT statement YES
F312 MERGE statement YES
F313 Enhanced MERGE statement YES
F314 MERGE statement with DELETE branch YES
F321 User authorization YES
F341 Usage tables YES
F361 Subprogram support YES
F381 Extended schema manipulation YES
F381 Extended schema manipulation 01 ALTER TABLE statement: ALTER COLUMN clause YES
F381 Extended schema manipulation 02 ALTER TABLE statement: ADD CONSTRAINT clause YES
F381 Extended schema manipulation 03 ALTER TABLE statement: DROP CONSTRAINT clause YES
F382 Alter column data type YES
F383 Set column not null clause YES
F384 Drop identity property clause YES
F385 Drop column generation expression clause YES
F386 Set identity column generation clause YES
F391 Long identifiers YES
F392 Unicode escapes in identifiers YES
F393 Unicode escapes in literals YES
F394 Optional normal form specification YES
F401 Extended joined table YES
F401 Extended joined table 01 NATURAL JOIN YES
F401 Extended joined table 02 FULL OUTER JOIN YES
F401 Extended joined table 04 CROSS JOIN YES
F402 Named column joins for LOBs, arrays, and multisets YES
F403 Partitioned joined tables NO
F404 Range variable for common column names YES
F411 Time zone specification YES differences regarding literal interpretation
F421 National character YES
F431 Read-only scrollable cursors YES
F431 Read-only scrollable cursors 01 FETCH with explicit NEXT YES
F431 Read-only scrollable cursors 02 FETCH FIRST YES
F431 Read-only scrollable cursors 03 FETCH LAST YES
F431 Read-only scrollable cursors 04 FETCH PRIOR YES
F431 Read-only scrollable cursors 05 FETCH ABSOLUTE YES
F431 Read-only scrollable cursors 06 FETCH RELATIVE YES
F441 Extended set function support YES
F442 Mixed column references in set functions YES
F451 Character set definition NO
F461 Named character sets NO
F471 Scalar subquery values YES
F481 Expanded NULL predicate YES
F491 Constraint management YES
F492 Optional table constraint enforcement NO
F501 Features and conformance views YES
F501 Features and conformance views 01 SQL_FEATURES view YES
F501 Features and conformance views 02 SQL_SIZING view YES
F502 Enhanced documentation tables YES
F521 Assertions NO
F531 Temporary tables YES
F555 Enhanced seconds precision YES
F561 Full value expressions YES
F571 Truth value tests YES
F591 Derived tables YES
F611 Indicator data types YES
F641 Row and table constructors YES
F651 Catalog name qualifiers YES
F661 Simple tables YES
F671 Subqueries in CHECK NO intentionally omitted
F672 Retrospective check constraints YES
F673 Reads SQL-data routine invocations in CHECK constraints NO
F690 Collation support YES but no character set support
F692 Extended collation support YES
F693 SQL-session and client module collations NO
F695 Translation support NO
F696 Additional translation documentation NO
F701 Referential update actions YES
F711 ALTER domain YES
F721 Deferrable constraints NO foreign and unique keys only
F731 INSERT column privileges YES
F741 Referential MATCH types NO no partial match yet
F751 View CHECK enhancements YES
F761 Session management YES
F762 CURRENT_CATALOG YES
F763 CURRENT_SCHEMA YES
F771 Connection management YES
F781 Self-referencing operations YES
F791 Insensitive cursors YES
F801 Full set function YES
F812 Basic flagging NO
F813 Extended flagging NO
F821 Local table references NO
F831 Full cursor update NO
F831 Full cursor update 01 Updatable scrollable cursors NO
F831 Full cursor update 02 Updatable ordered cursors NO
F841 LIKE_REGEX predicate NO consider regexp_like()
F842 OCCURRENCES_REGEX function NO consider regexp_matches()
F843 POSITION_REGEX function NO consider regexp_instr()
F844 SUBSTRING_REGEX function NO consider regexp_substr()
F845 TRANSLATE_REGEX function NO consider regexp_replace()
F846 Octet support in regular expression operators NO
F847 Nonconstant regular expressions NO
F850 Top-level <order by clause> in <query expression> YES
F851 <order by clause> in subqueries YES
F852 Top-level <order by clause> in views YES
F855 Nested <order by clause> in <query expression> YES
F856 Nested <fetch first clause> in <query expression> YES
F857 Top-level <fetch first clause> in <query expression> YES
F858 <fetch first clause> in subqueries YES
F859 Top-level <fetch first clause> in views YES
F860 <fetch first row count> in <fetch first clause> YES
F861 Top-level <result offset clause> in <query expression> YES
F862 <result offset clause> in subqueries YES
F863 Nested <result offset clause> in <query expression> YES
F864 Top-level <result offset clause> in views YES
F865 <offset row count> in <result offset clause> YES
F866 FETCH FIRST clause: PERCENT option NO
F867 FETCH FIRST clause: WITH TIES option YES
R010 Row pattern recognition: FROM clause NO
R020 Row pattern recognition: WINDOW clause NO
R030 Row pattern recognition: full aggregate support NO
S011 Distinct data types NO
S011 Distinct data types 01 USER_DEFINED_TYPES view NO
S023 Basic structured types NO
S024 Enhanced structured types NO
S025 Final structured types NO
S026 Self-referencing structured types NO
S027 Create method by specific method name NO
S028 Permutable UDT options list NO
S041 Basic reference types NO
S043 Enhanced reference types NO
S051 Create table of type NO partially supported
S071 SQL paths in function and type name resolution YES
S081 Subtables NO
S091 Basic array support NO partially supported
S091 Basic array support 01 Arrays of built-in data types YES
S091 Basic array support 02 Arrays of distinct types NO
S091 Basic array support 03 Array expressions YES
S092 Arrays of user-defined types YES
S094 Arrays of reference types NO
S095 Array constructors by query YES
S096 Optional array bounds YES
S097 Array element assignment NO
S098 ARRAY_AGG YES
S111 ONLY in query expressions YES
S151 Type predicate NO see pg_typeof()
S161 Subtype treatment NO
S162 Subtype treatment for references NO
S201 SQL-invoked routines on arrays YES
S201 SQL-invoked routines on arrays 01 Array parameters YES
S201 SQL-invoked routines on arrays 02 Array as result type of functions YES
S202 SQL-invoked routines on multisets NO
S211 User-defined cast functions YES
S231 Structured type locators NO
S232 Array locators NO
S233 Multiset locators NO
S241 Transform functions NO
S242 Alter transform statement NO
S251 User-defined orderings NO
S261 Specific type method NO
S271 Basic multiset support NO
S272 Multisets of user-defined types NO
S274 Multisets of reference types NO
S275 Advanced multiset support NO
S281 Nested collection types NO
S291 Unique constraint on entire row NO
S301 Enhanced UNNEST YES
S401 Distinct types based on array types NO
S402 Distinct types based on distinct types NO
S403 ARRAY_MAX_CARDINALITY NO
S404 TRIM_ARRAY YES
T011 Timestamp in Information Schema NO
T021 BINARY and VARBINARY data types NO
T022 Advanced support for BINARY and VARBINARY data types NO
T023 Compound binary literal NO
T024 Spaces in binary literals NO
T031 BOOLEAN data type YES
T041 Basic LOB data type support NO
T041 Basic LOB data type support 01 BLOB data type NO
T041 Basic LOB data type support 02 CLOB data type NO
T041 Basic LOB data type support 03 POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING functions for LOB data types NO
T041 Basic LOB data type support 04 Concatenation of LOB data types NO
T041 Basic LOB data type support 05 LOB locator: non-holdable NO
T042 Extended LOB data type support NO
T043 Multiplier T NO
T044 Multiplier P NO
T051 Row types NO
T053 Explicit aliases for all-fields reference NO
T061 UCS support NO
T071 BIGINT data type YES
T076 DECFLOAT data type NO
T101 Enhanced nullability determination NO
T111 Updatable joins, unions, and columns NO
T121 WITH (excluding RECURSIVE) in query expression YES
T122 WITH (excluding RECURSIVE) in subquery YES
T131 Recursive query YES
T132 Recursive query in subquery YES
T133 Enhanced cycle mark values YES SQL:202x draft
T141 SIMILAR predicate YES
T151 DISTINCT predicate YES
T152 DISTINCT predicate with negation YES
T171 LIKE clause in table definition YES
T172 AS subquery clause in table definition YES
T173 Extended LIKE clause in table definition YES
T174 Identity columns YES
T175 Generated columns NO mostly supported
T176 Sequence generator support NO supported except for NEXT VALUE FOR
T177 Sequence generator support: simple restart option YES
T178 Identity columns: simple restart option YES
T180 System-versioned tables NO
T181 Application-time period tables NO
T191 Referential action RESTRICT YES
T201 Comparable data types for referential constraints YES
T211 Basic trigger capability NO
T211 Basic trigger capability 01 Triggers activated on UPDATE, INSERT, or DELETE of one base table YES
T211 Basic trigger capability 02 BEFORE triggers YES
T211 Basic trigger capability 03 AFTER triggers YES
T211 Basic trigger capability 04 FOR EACH ROW triggers YES
T211 Basic trigger capability 05 Ability to specify a search condition that must be true before the trigger is invoked YES
T211 Basic trigger capability 06 Support for run-time rules for the interaction of triggers and constraints NO
T211 Basic trigger capability 07 TRIGGER privilege YES
T211 Basic trigger capability 08 Multiple triggers for the same event are executed in the order in which they were created in the catalog NO intentionally omitted
T212 Enhanced trigger capability YES
T213 INSTEAD OF triggers YES
T231 Sensitive cursors NO
T241 START TRANSACTION statement YES
T251 SET TRANSACTION statement: LOCAL option NO
T261 Chained transactions YES
T271 Savepoints YES
T272 Enhanced savepoint management NO
T281 SELECT privilege with column granularity YES
T285 Enhanced derived column names YES
T301 Functional dependencies NO partially supported
T312 OVERLAY function YES
T321 Basic SQL-invoked routines NO partially supported
T321 Basic SQL-invoked routines 01 User-defined functions with no overloading YES
T321 Basic SQL-invoked routines 02 User-defined stored procedures with no overloading YES
T321 Basic SQL-invoked routines 03 Function invocation YES
T321 Basic SQL-invoked routines 04 CALL statement YES
T321 Basic SQL-invoked routines 05 RETURN statement YES
T321 Basic SQL-invoked routines 06 ROUTINES view YES
T321 Basic SQL-invoked routines 07 PARAMETERS view YES
T322 Declared data type attributes NO
T323 Explicit security for external routines YES
T324 Explicit security for SQL routines NO
T325 Qualified SQL parameter references YES
T326 Table functions NO
T331 Basic roles YES
T332 Extended roles YES
T341 Overloading of SQL-invoked functions and procedures YES
T351 Bracketed SQL comments (/*...*/ comments) YES
T431 Extended grouping capabilities YES
T432 Nested and concatenated GROUPING SETS YES
T433 Multiargument GROUPING function YES
T434 GROUP BY DISTINCT YES
T441 ABS and MOD functions YES
T461 Symmetric BETWEEN predicate YES
T471 Result sets return value NO
T472 DESCRIBE CURSOR NO
T491 LATERAL derived table YES
T495 Combined data change and retrieval NO different syntax
T501 Enhanced EXISTS predicate YES
T502 Period predicates NO
T511 Transaction counts NO
T521 Named arguments in CALL statement YES
T522 Default values for IN parameters of SQL-invoked procedures NO supported except DEFAULT key word in invocation
T523 Default values for INOUT parameters of SQL-invoked procedures YES
T524 Named arguments in routine invocations other than a CALL statement YES
T525 Default values for parameters of SQL-invoked functions YES
T551 Optional key words for default syntax YES
T561 Holdable locators NO
T571 Array-returning external SQL-invoked functions NO
T572 Multiset-returning external SQL-invoked functions NO
T581 Regular expression substring function YES
T591 UNIQUE constraints of possibly null columns YES
T601 Local cursor references NO
T611 Elementary OLAP operations YES
T612 Advanced OLAP operations YES
T613 Sampling YES
T614 NTILE function YES
T615 LEAD and LAG functions YES
T616 Null treatment option for LEAD and LAG functions NO
T617 FIRST_VALUE and LAST_VALUE function YES
T618 NTH_VALUE function NO function exists, but some options missing
T619 Nested window functions NO
T620 WINDOW clause: GROUPS option YES
T621 Enhanced numeric functions YES
T622 Trigonometric functions YES
T623 General logarithm functions YES
T624 Common logarithm functions YES
T625 LISTAGG NO
T631 IN predicate with one list element YES
T641 Multiple column assignment NO only some syntax variants supported
T651 SQL-schema statements in SQL routines YES
T652 SQL-dynamic statements in SQL routines NO
T653 SQL-schema statements in external routines YES
T654 SQL-dynamic statements in external routines NO
T655 Cyclically dependent routines YES
T811 Basic SQL/JSON constructor functions NO
T812 SQL/JSON: JSON_OBJECTAGG NO
T813 SQL/JSON: JSON_ARRAYAGG with ORDER BY NO
T814 Colon in JSON_OBJECT or JSON_OBJECTAGG NO
T821 Basic SQL/JSON query operators NO
T822 SQL/JSON: IS JSON WITH UNIQUE KEYS predicate NO
T823 SQL/JSON: PASSING clause NO
T824 JSON_TABLE: specific PLAN clause NO
T825 SQL/JSON: ON EMPTY and ON ERROR clauses NO
T826 General value expression in ON ERROR or ON EMPTY clauses NO
T827 JSON_TABLE: sibling NESTED COLUMNS clauses NO
T828 JSON_QUERY NO
T829 JSON_QUERY: array wrapper options NO
T830 Enforcing unique keys in SQL/JSON constructor functions NO
T831 SQL/JSON path language: strict mode YES
T832 SQL/JSON path language: item method YES
T833 SQL/JSON path language: multiple subscripts YES
T834 SQL/JSON path language: wildcard member accessor YES
T835 SQL/JSON path language: filter expressions YES
T836 SQL/JSON path language: starts with predicate YES
T837 SQL/JSON path language: regex_like predicate YES
T838 JSON_TABLE: PLAN DEFAULT clause NO
T839 Formatted cast of datetimes to/from character strings NO
M001 Datalinks NO
M002 Datalinks via SQL/CLI NO
M003 Datalinks via Embedded SQL NO
M004 Foreign data support NO partially supported
M005 Foreign schema support NO
M006 GetSQLString routine NO
M007 TransmitRequest NO
M009 GetOpts and GetStatistics routines NO
M010 Foreign data wrapper support NO different API
M011 Datalinks via Ada NO
M012 Datalinks via C NO
M013 Datalinks via COBOL NO
M014 Datalinks via Fortran NO
M015 Datalinks via M NO
M016 Datalinks via Pascal NO
M017 Datalinks via PL/I NO
M018 Foreign data wrapper interface routines in Ada NO
M019 Foreign data wrapper interface routines in C NO different API
M020 Foreign data wrapper interface routines in COBOL NO
M021 Foreign data wrapper interface routines in Fortran NO
M022 Foreign data wrapper interface routines in MUMPS NO
M023 Foreign data wrapper interface routines in Pascal NO
M024 Foreign data wrapper interface routines in PL/I NO
M030 SQL-server foreign data support NO
M031 Foreign data wrapper general routines NO
X010 XML type YES
X011 Arrays of XML type YES
X012 Multisets of XML type NO
X013 Distinct types of XML type NO
X014 Attributes of XML type YES
X015 Fields of XML type NO
X016 Persistent XML values YES
X020 XMLConcat YES
X025 XMLCast NO
X030 XMLDocument NO
X031 XMLElement YES
X032 XMLForest YES
X034 XMLAgg YES
X035 XMLAgg: ORDER BY option YES
X036 XMLComment YES
X037 XMLPI YES
X038 XMLText NO
X040 Basic table mapping YES
X041 Basic table mapping: nulls absent YES
X042 Basic table mapping: null as nil YES
X043 Basic table mapping: table as forest YES
X044 Basic table mapping: table as element YES
X045 Basic table mapping: with target namespace YES
X046 Basic table mapping: data mapping YES
X047 Basic table mapping: metadata mapping YES
X048 Basic table mapping: base64 encoding of binary strings YES
X049 Basic table mapping: hex encoding of binary strings YES
X050 Advanced table mapping YES
X051 Advanced table mapping: nulls absent YES
X052 Advanced table mapping: null as nil YES
X053 Advanced table mapping: table as forest YES
X054 Advanced table mapping: table as element YES
X055 Advanced table mapping: with target namespace YES
X056 Advanced table mapping: data mapping YES
X057 Advanced table mapping: metadata mapping YES
X058 Advanced table mapping: base64 encoding of binary strings YES
X059 Advanced table mapping: hex encoding of binary strings YES
X060 XMLParse: character string input and CONTENT option YES
X061 XMLParse: character string input and DOCUMENT option YES
X065 XMLParse: BLOB input and CONTENT option NO
X066 XMLParse: BLOB input and DOCUMENT option NO
X068 XMLSerialize: BOM NO
X069 XMLSerialize: INDENT NO
X070 XMLSerialize: character string serialization and CONTENT option YES
X071 XMLSerialize: character string serialization and DOCUMENT option YES
X072 XMLSerialize: character string serialization YES
X073 XMLSerialize: BLOB serialization and CONTENT option NO
X074 XMLSerialize: BLOB serialization and DOCUMENT option NO
X075 XMLSerialize: BLOB serialization NO
X076 XMLSerialize: VERSION NO
X077 XMLSerialize: explicit ENCODING option NO
X078 XMLSerialize: explicit XML declaration NO
X080 Namespaces in XML publishing NO
X081 Query-level XML namespace declarations NO
X082 XML namespace declarations in DML NO
X083 XML namespace declarations in DDL NO
X084 XML namespace declarations in compound statements NO
X085 Predefined namespace prefixes NO
X086 XML namespace declarations in XMLTable NO
X090 XML document predicate YES
X091 XML content predicate NO
X096 XMLExists NO XPath 1.0 only
X100 Host language support for XML: CONTENT option NO
X101 Host language support for XML: DOCUMENT option NO
X110 Host language support for XML: VARCHAR mapping NO
X111 Host language support for XML: CLOB mapping NO
X112 Host language support for XML: BLOB mapping NO
X113 Host language support for XML: STRIP WHITESPACE option NO
X114 Host language support for XML: PRESERVE WHITESPACE option NO
X120 XML parameters in SQL routines YES
X121 XML parameters in external routines YES
X131 Query-level XMLBINARY clause NO
X132 XMLBINARY clause in DML NO
X133 XMLBINARY clause in DDL NO
X134 XMLBINARY clause in compound statements NO
X135 XMLBINARY clause in subqueries NO
X141 IS VALID predicate: data-driven case NO
X142 IS VALID predicate: ACCORDING TO clause NO
X143 IS VALID predicate: ELEMENT clause NO
X144 IS VALID predicate: schema location NO
X145 IS VALID predicate outside check constraints NO
X151 IS VALID predicate with DOCUMENT option NO
X152 IS VALID predicate with CONTENT option NO
X153 IS VALID predicate with SEQUENCE option NO
X155 IS VALID predicate: NAMESPACE without ELEMENT clause NO
X157 IS VALID predicate: NO NAMESPACE with ELEMENT clause NO
X160 Basic Information Schema for registered XML Schemas NO
X161 Advanced Information Schema for registered XML Schemas NO
X170 XML null handling options NO
X171 NIL ON NO CONTENT option NO
X181 XML(DOCUMENT(UNTYPED)) type NO
X182 XML(DOCUMENT(ANY)) type NO
X190 XML(SEQUENCE) type NO
X191 XML(DOCUMENT(XMLSCHEMA)) type NO
X192 XML(CONTENT(XMLSCHEMA)) type NO
X200 XMLQuery NO
X201 XMLQuery: RETURNING CONTENT NO
X202 XMLQuery: RETURNING SEQUENCE NO
X203 XMLQuery: passing a context item NO
X204 XMLQuery: initializing an XQuery variable NO
X205 XMLQuery: EMPTY ON EMPTY option NO
X206 XMLQuery: NULL ON EMPTY option NO
X211 XML 1.1 support NO
X221 XML passing mechanism BY VALUE YES
X222 XML passing mechanism BY REF NO parser accepts BY REF but ignores it; passing is always BY VALUE
X231 XML(CONTENT(UNTYPED)) type NO
X232 XML(CONTENT(ANY)) type NO
X241 RETURNING CONTENT in XML publishing NO
X242 RETURNING SEQUENCE in XML publishing NO
X251 Persistent XML values of XML(DOCUMENT(UNTYPED)) type NO
X252 Persistent XML values of XML(DOCUMENT(ANY)) type NO
X253 Persistent XML values of XML(CONTENT(UNTYPED)) type NO
X254 Persistent XML values of XML(CONTENT(ANY)) type NO
X255 Persistent XML values of XML(SEQUENCE) type NO
X256 Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type NO
X257 Persistent XML values of XML(CONTENT(XMLSCHEMA)) type NO
X260 XML type: ELEMENT clause NO
X261 XML type: NAMESPACE without ELEMENT clause NO
X263 XML type: NO NAMESPACE with ELEMENT clause NO
X264 XML type: schema location NO
X271 XMLValidate: data-driven case NO
X272 XMLValidate: ACCORDING TO clause NO
X273 XMLValidate: ELEMENT clause NO
X274 XMLValidate: schema location NO
X281 XMLValidate with DOCUMENT option NO
X282 XMLValidate with CONTENT option NO
X283 XMLValidate with SEQUENCE option NO
X284 XMLValidate: NAMESPACE without ELEMENT clause NO
X286 XMLValidate: NO NAMESPACE with ELEMENT clause NO
X300 XMLTable NO XPath 1.0 only
X301 XMLTable: derived column list option YES
X302 XMLTable: ordinality column option YES
X303 XMLTable: column default option YES
X304 XMLTable: passing a context item YES must be XML DOCUMENT
X305 XMLTable: initializing an XQuery variable NO
X400 Name and identifier mapping YES
X410 Alter column data type: XML type YES
|