SHOW FUNCTIONS¶
Snowflakeが提供するすべてのネイティブ(つまり、システム定義/組み込み)スカラー関数、さらにユーザー定義関数 UDFs またはアカウントで作成された外部関数のすべてをリストします。
詳細については、 SQL 関数リファレンス、 ユーザー定義関数の概要 および 外部関数の記述 をご参照ください。
- こちらもご参照ください。
SHOW USER FUNCTIONS、 SHOW EXTERNAL FUNCTIONS、 CREATE FUNCTION、 DROP FUNCTION、 ALTER FUNCTION、 DESCRIBE FUNCTION
構文¶
SHOW FUNCTIONS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
パラメーター¶
LIKE 'pattern'
オブジェクト名でコマンド出力をフィルターします。フィルターは、 SQL ワイルドカード文字(
%
および_
)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは同じ結果を返します。
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
[ IN ... ]
オプションで、コマンドのスコープを指定します。次のいずれかを指定します。
ACCOUNT
アカウント全体の記録を返します。
DATABASE
、 .DATABASE db_name
現在使用中のデータベースまたは指定されたデータベース(
db_name
)の記録を返します。db_name
なしでDATABASE
を指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。SCHEMA
、 .SCHEMA schema_name
、 .schema_name
現在使用中のスキーマまたは指定されたスキーマ(
schema_name
)の記録を返します。データベースが使用中の場合、または完全修飾
schema_name
(例:db.schema
) を指定する場合、SCHEMA
はオプションです。データベースが使用されていない場合は、
SCHEMA
を指定しても出力には影響しません。
デフォルト: セッションで現在使用中のデータベースがあるかどうかによって異なります。
データベース:
DATABASE
がデフォルトです(つまり、コマンドはデータベースで表示する権限を持つオブジェクトを返します)。データベースなし:
ACCOUNT
はデフォルトです(つまり、コマンドは、アカウントで表示する権限を持つオブジェクトを返します)。
使用上の注意¶
このコマンドの実行は、稼働中のウェアハウスを必要としません。
コマンドは、コマンドを実行するために使用されるロールのアクセス権によって決定された通り、指定されたオブジェクトタイプに対して 最大 10Kのレコードを返します。フィルタが適用されていても、10Kの制限を超えるレコードは返されません。
10Kを超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。
このコマンドの出力には、
SN_TEMP_OBJECT_<n>
(<n>
は数値)のような名前のオブジェクトが含まれる場合があります。これらは、ユーザーの代理として Snowpark ライブラリにより作成される仮オブジェクトです。
2022_08
動作変更リリースバンドルが無効になっている場合、IS_MEMOIZABLE 列は出力に含まれません。動作変更リリースバンドルを無効にする方法については、 Behavior Change Management をご参照ください。
出力¶
コマンド出力は、次の列の列プロパティとメタデータを提供します。
| created_on | name | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments | description | catalog_name | is_table_function | valid_for_clustering | is_secure | is_external_function | language | is_memoizable
列 |
説明 |
---|---|
created_on |
関数が作成された時のタイムスタンプ。 |
name |
関数の名前。 |
schema_name |
関数が存在するスキーマの名前。(組み込み関数の場合は NULL。) |
is_builtin |
関数が組み込み関数の場合はtrue。それ以外の場合はfalse。 |
is_aggregate |
関数が集計関数である場合はtrue。それ以外の場合はfalse。 |
is_ansi |
関数がANSI SQL 標準の一部として定義されている場合はtrue。それ以外の場合はfalse。 |
min_num_arguments |
引数の最小数 |
max_num_arguments |
引数の最大数 |
arguments |
引数と戻り値のデータ型を表示します。 |
説明 |
関数の説明。 |
catalog_name |
関数が存在するデータベースの名前。(組み込み関数の場合は NULL。) |
is_table_function |
関数がテーブル関数の場合はtrue。それ以外の場合はfalse。 |
valid_for_clustering |
関数を CLUSTERBY 式で使用できる場合はtrue。それ以外の場合はfalse。 |
is_secure |
関数がセキュア関数である場合はtrue。それ以外の場合はfalse。 |
is_external_function |
関数が集計関数である場合はtrue。それ以外の場合はfalse。 |
言語 |
組み込み関数の場合、この列には「SQL」と表示されます。 . ユーザー定義関数の場合、この列には関数を記述した言語が表示されます(例: 「JAVASCRIPT」または「SQL」)。 . 外部関数の場合、この列には「EXTERNAL」と表示されます。 |
is_memoizable |
関数がメモ化可能な場合はY(はい)。それ以外の場合はN(いいえ)。 |
使用上の注意¶
プレフィックス
is_
で始まる列は、Y
(はい)またはN
(いいえ)のいずれかを返します。
2022_08
動作変更リリースバンドルが無効になっている場合、IS_MEMOIZABLE 列は出力に含まれません。動作変更リリースバンドルを無効にする方法については、 Behavior Change Management をご参照ください。
例¶
すべての関数を表示します。
SHOW FUNCTIONS;
指定された正規表現に一致する関数のみを表示します。
SHOW FUNCTIONS LIKE 'SQUARE'; ------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+ created_on | name | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments | description | language | is_memoizable | ------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+ | SQUARE | | Y | N | Y | 1 | 1 | SQUARE(NUMBER(38,0)) RETURN NUMBER(38,0), SQUARE(FLOAT) RETURN FLOAT | Compute the square of the input expression. | SQL | N | ------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+