SQL:2023


This page is a stub being frequently updated.

New Features in 9075-2:2023

With SQL:2023 the sub-feature notation “-01” was discontinued. Many of the old sub-features got a new feature id assigned. The following table shows the old feature names in the column labeled 2016.

Feature ID2016Feature Name
B030Enhanced dynamic SQL
B036B032-01Describe input statement
F035REVOKE with CASCADE
F036F034-01REVOKE statement performed by non-owner
F037F034-02REVOKE statement: GRANT OPTION FOR clause
F038F034-03REVOKE of a WITH GRANT OPTION privilege
F112F111-01Isolation level READ UNCOMMITTED
F113F111-02Isolation level READ COMMITTED
F114F111-03Isolation level REPEATABLE READ
F120F121-01Get diagnostics statement
F124F121-02SET TRANSACTION statement: DIAGNOSTICS SIZE clause
F292UNIQUE null treatment
F303F302-01INTERSECT DISTINCT table operator
F305F302-02INTERSECT ALL table operator
F387F381-01ALTER TABLE statement: ALTER COLUMN clause
F388F381-02, F381-03ALTER TABLE statement: ADD/DROP CONSTRAINT clause
F405F401-01NATURAL JOIN
F406F401-02FULL OUTER JOIN
F407F401-04CROSS JOIN
F432F431-01FETCH with explicit NEXT
F433F431-02FETCH FIRST
F434F431-03FETCH LAST
F435F431-04FETCH PRIOR
F436F431-05FETCH ABSOLUTE
F437F431-06FETCH RELATIVE
F438Scrollable cursors
F832F831-01Updatable scrollable cursors
F833F831-02Updatable ordered cursors
F868ORDER BY in grouped table
S090S091-01Minimal array support
S093S091-02Arrays of distinct types
S099S091-03Array expressions
S203S201-01Array parameters
S204S201-02Array as result type of functions
T039T041-05CLOB locator: non-holdable
T040T041-04Concatenation of CLOBs
T045T041-01BLOB data type
T046T041-02CLOB data type
T047T041-03POSITION, OCTET_LENGTH, TRIM, and SUBSTRING for BLOBs
T048T041-04Concatenation of BLOBs
T049BLOB locator: non-holdable
T050T041-03POSITION, CHAR_LENGTH, OCTET_LENGTH, LOWER, TRIM, UPPER, and SUBSTRING for CLOBs
T054GREATEST and LEAST
T055String padding functions
T056Multi-character TRIM function
T062Character length units
T081Optional string types maximum length
T133Enhanced cycle mark values
T200T211-01Trigger DDL
T214T211-02BEFORE triggers
T215T211-03AFTER triggers
T216T211-05Ability to require true search condition before trigger is invoked
T217T211-07TRIGGER privilege
T218T211-08Multiple triggers for the same event executed in the order created
T262Multiple server transactions
T626ANY_VALUE
T627Window framed COUNT DISTINCT
T661Non-decimal integer literals
T662Underscores in numeric literals
T670Schema and data statement mixing
T801JSON data type
T802Enhanced JSON data type
T803String-based JSON
T840Hex integer literals in SQL/JSON path language
T851SQL/JSON: optional keywords for default syntax
T860SQL/JSON simplified accessor: column reference only
T861SQL/JSON simplified accessor: case-sensitive JSON member accessor
T862SQL/JSON simplified accessor: wildcard member accessor
T863SQL/JSON simplified accessor: single-quoted string literal as member accessor
T864SQL/JSON simplified accessor
T865SQL/JSON item method: bigint()
T866SQL/JSON item method: boolean()
T867SQL/JSON item method: date()
T868SQL/JSON item method: decimal()
T869SQL/JSON item method: decimal() with precision and scale
T870SQL/JSON item method: integer()
T871SQL/JSON item method: number()
T872SQL/JSON item method: string()
T873SQL/JSON item method: time()
T874SQL/JSON item method: time_tz()
T875SQL/JSON item method: time precision
T876SQL/JSON item method: timestamp()
T877SQL/JSON item method: timestamp_tz()
T878SQL/JSON item method: timestamp precision
T879JSON in equality operations
T880JSON in grouping operations
T881JSON in ordering operations
T882JSON in multiset element grouping operations

You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Twitter or RSS to gradually catch up and to keep modern-⁠sql.com on your radar.

About the Author

Photo of Markus Winand

Markus Winand provides insights into SQL and shows how different systems support it at modern-sql.com. Previously he made use-the-index-luke.com, which is still actively maintained. Markus can be hired as trainer, speaker and consultant via winand.at.

Buy the Book

Cover of “SQL Performance Explained”: Squirrel running on grass

The essence of SQL tuning in 200 pages

Buy now!
(paperback and/or PDF)

Paperback also available at Amazon.com.

Hire Markus

Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »

Connect with Markus Winand

Markus Winand on LinkedInMarkus Winand on XINGMarkus Winand on Twitter
“modern SQL” by Markus Winand is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Legal | Contact | NO WARRANTY | Trademarks | Privacy and GDPR | CC-BY-NC-ND 3.0 license