新しい SQL 関数: GREATEST_IGNORE_NULLS および LEAST_IGNORE_NULLS が類似の名前付き UDFs と競合する可能性

注意

この動作変更は2024_03バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

Snowflakeは次の2つの新しい組み込み関数を導入します。

  • GREATEST_IGNORE_NULLS: 式のリストから最大の非 NULL 値を返します。すべての引数値が NULLs の場合、結果は NULL となります。

    GREATEST_IGNORE_NULLS は、 VARIANT を含むすべてのデータ型の引数をサポートしています。

  • LEAST_IGNORE_NULLS: 式のリストから最小の非 NULL 値を返します。すべての引数値が NULLs の場合、結果は NULL となります。

    LEAST_IGNORE_NULLS は、 VARIANT を含むすべてのデータ型の引数をサポートしています。

GREATEST_IGNORE_NULLS または LEAST_IGNORE_NULLS という名前のユーザー定義関数(UDF)がある場合、その関数を呼び出すと以下のような効果があります。

変更前:

GREATEST_IGNORE_NULLS または LEAST_IGNORE_NULLS という名前の UDF への呼び出しは、 UDF に解決されます。

変更後:

GREATEST_IGNORE_NULLS または LEAST_IGNORE_NULLS という名前の UDF への呼び出しは、新しい組み込み関数 GREATEST_IGNORE_NULLS または LEAST_IGNORE_NULLS に解決されます。組み込み関数の GREATEST_IGNORE_NULLS または LEAST_IGNORE_NULLS は、使用する UDF とは異なる動作をする場合があります。

新しい組み込み関数の GREATEST_IGNORE_NULLS または LEAST_IGNORE_NULLS の文書化されたセマンティクスが、使用する UDF のセマンティクスと一致しない場合、次のいずれかを実行できます。

  • UDF の名前を変更し(ALTER FUNCTION ... RENAME TO ... を使用)、元の UDF の名前に対する参照をすべて新しい名前に置き換えます。

  • UDF を含むデータベースとスキーマの名前を指定して、 UDF へのすべての参照を 完全に修飾 します。例:

    SELECT my_database.my_schema.greatest_ignore_nulls(...);
    
    SELECT my_database.my_schema.least_ignore_nulls(...);
    
    Copy

参照: 1354