|  | 2026-01-30 Friday | Oracle PL/SQL: The FOR LOOP Statement
Release 21c of Oracle AI Database extended for loops in PL/SQL. New options include: by - specify a custom incrementwhen <condition> - only run the loop body if the condition is true- A comma-separated list of values to loop through
Author: Chris Saxon [59795-10714205] | Weekly DB | No Comments Last: No Comments | - |
|  | 2026-01-29 Thursday | SQL: JSON_TRANSFORM
It is possible to pass multiple arguments in a single bind variable with the PASSING clause if the bind variable is using JSON datatype. Author: Anthony Harper [59655-10713063] | Oracle Database Annual Championship | No Comments Last: No Comments | - |
|  | 2026-01-29 Thursday | Oracle PL/SQL: Calling Macros From PLSQL
SQL Macros used in PL/SQL methods are resolved at compile time. Author: Anthony Harper [59776-10713152] | Oracle Database Annual Championship | No New Comments
Last: 2026-02-01 15:35:29 | - |
|  | 2026-01-29 Thursday | SQL: Hidden and Generated Fields
Hidden and generated fields in version 23.6 gives you more flexibility for read-only attributes of JSON Relational Duality Views. Author: Kim Berg Hansen [59735-10713069] | Oracle Database Annual Championship | No Comments Last: No Comments | - |
|  | 2026-01-29 Thursday | SQL: FUZZY_MATCH
Oracle AI Database added the fuzzy_match operator. This supports several fuzzy matching algorithms: LEVENSHTEIN corresponds to UTL_MATCH.EDIT_DISTANCE or UTL_MATCH.EDIT_SIMILARITY and gives a measure of character edit distance or similarity.DAMERAU_LEVENSHTEIN distance differs from the classical LEVENSHTEIN distance by including transpositions among its allowable operations in addition to the three classical single-character edit operations (insertions, deletions and substitutions).JARO_WINKLER corresponds to UTL_MATCH.JARO_WINKLER (a percentage between 0-1) or UTL_MATCH.JARO_WINKLER_SIMILARITY (the same but scaled from 0-100).BIGRAM and TRIGRAM are instances of the N-gram matching technique, which counts the number of common contiguous substrings (grams) between the two strings.WHOLE_WORD_MATCH corresponds to Word Match Percentage or Count comparison in Oracle Enterprise Data Quality. It calculates the LEVENSHTEIN or edit distance of two phrases with words (instead of letters) as matching units.LONGEST_COMMON_SUBSTRING finds the longest common substring between the two strings.
Author: Chris Saxon [59715-10714024] | Oracle Database Annual Championship | No Comments Last: No Comments | - |
|  | 2026-01-29 Thursday | SQL: GRAPHQL Table Function
GraphQL is an alternative way to query data and retrieve JSON than using SQL. You can use the table function GRAPHQL to use GraphQL syntax within Oracle database. Author: Kim Berg Hansen [59195-10713027] | Oracle Database Annual Championship | No Comments Last: No Comments | - |
|  | 2026-01-29 Thursday | Database Administration: Statistics
From release update 23.8, the optimizer can gather dynamic stats for table function calls. This can give better row estimates. You can control this with: - The global PL/SQL
dynamic_stats preference - The
dynamic_stats function preference - The parameter
plsql_function_dynamic_stats
The priority of these (from highest to lowest) is: plsql_function_dynamic_stats > Function preference > Global preference
Author: Chris Saxon [59815-10714274] | Oracle Database Annual Championship | No Comments Last: No Comments | - |
|  | 2026-01-23 Friday | SQL: QUALIFY Clause
Introduced in 26ai, the QUALIFY clause allows for filtering a result set with an analytic function, or any aliased expression. Author: Anthony Harper [59415-10711927] | Weekly DB | No New Comments
Last: 2026-01-17 22:17:15 | - |
|  | 2026-01-16 Friday | SQL: JSON_OBJECT
If you need to create JSON with empty strings ("") from SQL values, that will not happen by default, as an empty string in SQL is actually a NULL and will produce a JSON null. But in JSON creation functions you can specify EMPTY STRING ON NULL to make SQL NULL turn into JSON "" empty string Author: Kim Berg Hansen [59539-10712161] | Weekly DB | No New Comments
Last: 2026-01-13 09:59:38 | - |
|  | 2026-01-09 Friday | SQL: TIME_BUCKET
The time_bucket function find the start or end times of an N-unit duration for a datetime. This was added in release 23.7. The syntax for this is: time_bucket ( <datetime>, <stride>, <origin> )
There is an optional fourth parameter, which takes the values start or end. The data type of the first and third arguments must be identical. The second argument can be either a: - An
interval day to second or interval year to month literal - A call to
numto*interval function - An ISO 8601 time unit string
Author: Chris Saxon [59435-10710370] | Weekly DB | No Comments Last: No Comments | - |
|  | 2026-01-02 Friday | SQL: CONCAT
In 23ai, support for multiple arguments was added to the concat function. Author: Anthony Harper [59295-10707606] | Weekly DB | No New Comments
Last: 2026-01-06 08:48:37 | - |