新しい SQL 関数: GREATEST_IGNORE_NULLS および LEAST_IGNORE_NULLS が類似の名前付き UDFs と競合する可能性¶
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(...);
参照: 1354