9.30 Release Notes: Preview

Attention

Content on this page is available in advance of the completion of the 9.30 release, which is currently either pending or in progress and is scheduled for completion on October 1 (subject to change).

Features, updates, or behavior changes described on this page might not be available in your accounts until the release is complete.

For updates to these release notes, see Release notes change log.

SQL updates

MERGE ALL BY NAME

When the target table and source must have the same number of columns and the same names for all of the columns, you can simplify MERGE operations by using MERGE ALL BY NAME.

MERGE statements can update each column in the target table with the values of the column with the same name from the source table. MERGE statements can also insert rows from the source table into the target table based on column names when there is no match. These MERGE ALL BY NAME operations are supported even when the column order is different in the target and source tables.

Aliases for PIVOT and UNPIVOT columns

In PIVOT queries, you can use the AS clause to specify aliases for the pivot column names.

In UNPIVOT queries, you can use the AS clause to specify aliases for column names that appear in the result of the UNPIVOT operation.

New SQL parameter: ENABLE_GET_DDL_USE_DATA_TYPE_ALIAS

The new ENABLE_GET_DDL_USE_DATA_TYPE_ALIAS parameter specifies whether the output returned by the GET_DDL function contains data type synonyms specified in the original DDL statement. This parameter is set to FALSE by default.

Reference table columns in lambda expressions when calling higher-order functions

You can now reference table columns in lambda expressions when calling higher-order functions such as FILTER, REDUCE, and TRANSFORM.

For example, you can specify the following lambda expression in a higher-order function that subtracts the value of table1.col2 from elements:

a -> a - table1.col2
Copy

SEARCH function supports PHRASE and EXACT search modes

The SEARCH function now supports two new search modes in addition to the existing OR and AND modes:

  • PHRASE: The search semantics find a match if the tokens extracted from at least one of the columns or fields being searched match all of the tokens extracted from the search string, including the order and adjacency of the tokens.

  • EXACT: The search semantics are the same as ‘PHRASE’ search semantics, except that the delimiter strings between the tokens must match exactly.

These new search modes provide more flexibility than the existing disjunctive OR and conjunctive AND search semantics.

Snowflake Scripting CONTINUE handlers

A CONTINUE handler can catch and handle exceptions without ending the Snowflake Scripting statement block that raised the exception. With the default EXIT handler, when an error occurs in a block, the flow is interrupted and the error is returned to the caller. You can use a CONTINUE handler when the error condition isn’t severe enough to warrant interrupting the flow.

Snowflake Scripting user-defined functions (UDFs) (General availability)

Snowflake Scripting UDFs are now generally available and are no longer in preview.

You can create SQL UDFs that contain Snowflake Scripting procedural language. Snowflake Scripting UDFs can be called in a SQL statement, such as a SELECT or INSERT statement. They are more flexible than a Snowflake Scripting stored procedure, which can only be called in a SQL CALL command.

Extensibility updates

Support for Scala version 2.13 (Preview)

You can specify Scala version 2.13 as the Scala runtime for Snowflake to use when executing Scala user-defined functions (UDFs), stored procedures, and Snowpark code.

Support for Scala 2.13 is in preview.

Data governance updates

Data quality: FRESHNESS data metric function improvement

You can now associate the FRESHNESS data metric function (DMF) with a table without specifying a column argument, which lets you determine the last time a DML command acted on the table. Previously, you needed to associate the FRESHNESS with a timestamp column to determine the last time the table was modified.

Release notes change log

Announcement

Update

Date

Release notes

Initial publication (preview)

Sep 26, 2025