Catégories :

Compte et session DDL

SHOW FUNCTIONS

Répertorie toutes les fonctions scalaires natives (c.-à-d. définies par le système ou intégrées) fournies par Snowflake, ainsi que les UDFs (fonctions définies par utilisateur) qui ont été créés pour votre compte.

Pour plus d’informations, voir Référence de la fonction SQL, Fonctions définies par l’utilisateur (UDFs), et Fonctions externes.

Voir aussi :

SHOW USER FUNCTIONS , SHOW EXTERNAL FUNCTIONS

Syntaxe

SHOW FUNCTIONS [ LIKE '<pattern>' ]
               [ IN { ACCOUNT | [ DATABASE ] <db_name> | [ SCHEMA ] <schema_name> } ]

Paramètres

LIKE 'motif'

Filtre la sortie de commande par nom d’objet. Le filtre utilise une concordance de motif insensible à la casse avec prise en charge des caractères génériques SQL (% et _).

Par exemple, les motifs suivants donnent les mêmes résultats :

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
IN ACCOUNT | [ DATABASE ] nom_bd | [ SCHEMA ] nom_schéma

Spécifie la portée de la commande, qui détermine si la commande liste les enregistrements uniquement pour la base de données ou le schéma actuel/spécifié, ou pour l’ensemble de votre compte :

Le mot clé DATABASE ou SCHEMA n’est pas nécessaire ; vous pouvez définir la portée en spécifiant uniquement le nom de la base de données ou du schéma. De même, le nom de la base de données ou du schéma n’est pas nécessaire si la session utilise actuellement une base de données :

  • Si DATABASE ou SCHEMA est spécifié sans nom et que la session n’a pas de base de données actuellement utilisée, le paramètre n’a aucun effet sur la sortie.

  • Si SCHEMA est spécifié avec un nom et que la session n’utilise pas de base de données, le nom du schéma doit être entièrement qualifié avec le nom de la base de données (par ex. testdb.testschema).

Par défaut : dépend si la session dispose actuellement d’une base de données en cours d’utilisation :

  • Base de données : DATABASE est la valeur par défaut (c’est-à-dire que la commande renvoie les objets que vous pouvez visualiser dans la base de données).

  • Aucune base de données : ACCOUNT est la valeur par défaut (c’est-à-dire que la commande renvoie les objets que vous pouvez visualiser dans votre compte).

Notes sur l’utilisation

  • L’exécution de la commande ne nécessite pas un entrepôt virtuel en cours d’exécution.

  • La commande retourne un maximum de 10 000 enregistrements pour le type d’objet spécifié, comme dicté par les privilèges d’accès pour le rôle utilisé pour exécuter la commande ; tous les enregistrements au-dessus de la limite de 10 000 enregistrements ne sont pas retournés, même avec un filtre appliqué.

    Pour afficher les résultats pour lesquels il existe plus de 10 000 enregistrements, interrogez la vue correspondante (s’il en existe une) dans Schéma d’information.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN, qui traite la sortie comme une table qui peut être interrogée.

Sortie

La sortie de commande fournit les propriétés des colonnes et les métadonnées dans les colonnes suivantes :

Colonne

Description

created_on

Horodatage auquel la fonction a été créée.

name

Nom de la fonction.

schema_name

Nom du schéma dans lequel la fonction existe. (NULL pour les fonctions intégrées.)

is_builtin

True si la fonction est une fonction intégrée ; false dans les autres cas.

is_aggregate

True si la fonction est une fonction d’agrégation ; false dans les autres cas.

is_ansi

True si la fonction est définie comme faisant partie de la norme ANSI SQL ; false dans les autres cas.

min_num_arguments

Nombre minimum d’arguments.

max_num_arguments

Nombre maximum d’arguments.

arguments

Affiche les types de données des arguments et de la valeur de retour.

description

Description de la fonction.

catalog_name

Nom de la base de données dans laquelle la fonction existe. (NULL pour les fonctions intégrées.)

is_table_function

True si la fonction est une fonction de table ; false dans les autres cas.

valid_for_clustering

True si la fonction peut être utilisée dans une expression CLUSTER BY ; false dans les autres cas.

is_secure

True si la fonction est une fonction sécurisée ; false dans les autres cas.

is_external_function

True si la fonction est une fonction externe ; false dans les autres cas.

Exemples

Afficher toutes les fonctions :

SHOW FUNCTIONS;

------------+-------------------+-------------+------------+--------------+---------+-------------------+-------------------+-------------------------------------------------------------------------------------+------------------------------------------------------------+
 created_on |       name        | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments |                                      arguments                                      |                      description                           |
------------+-------------------+-------------+------------+--------------+---------+-------------------+-------------------+-------------------------------------------------------------------------------------+------------------------------------------------------------+
            | !=                |             | Y          | N            | Y       | 2                 | 2                 | !=(ANY, ANY) RETURN BOOLEAN, !=(ROW(ANY), ROW(ANY)) RETURN BOOLEAN                  | Checks if the first value is not equal to the second value |
            | %                 |             | Y          | N            | N       | 2                 | 2                 | %(NUMBER, NUMBER) RETURN NUMBER, %(FLOAT, FLOAT) RETURN FLOAT                       | Computes modulo of two numbers                             |
...
...
...
            | AND               |             | Y          | N            | Y       | 2                 | 2                 | AND(BOOLEAN, BOOLEAN) RETURN BOOLEAN                                                | returns TRUE if both inputs are TRUE, FALSE otherwise      |
...
...
...
            | NOT               |             | Y          | N            | Y       | 1                 | 1                 | NOT(BOOLEAN) RETURN BOOLEAN                                                         | returns TRUE if input is TRUE, FALSE otherwise             |
...
...
...
            | OR                |             | Y          | N            | Y       | 2                 | 2                 | OR(BOOLEAN, BOOLEAN) RETURN BOOLEAN                                                 | returns TRUE if either input is TRUE, FALSE otherwise      |
...
...
...
            | 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.                |
...
...
...
            | TYPEOF            |             | Y          | N            | N       | 1                 | 1                 | TYPEOF(ANY) RETURN VARCHAR(268435456)                                               | returns the SQL type of its input argument as a string     |
...
...
...
------------+-------------------+-------------+------------+--------------+---------+-------------------+-------------------+-------------------------------------------------------------------------------------+------------------------------------------------------------+

Afficher uniquement les fonctions correspondant à l’expression régulière spécifiée :

SHOW FUNCTIONS LIKE 'SQUARE';

------------+-------------------+-------------+------------+--------------+---------+-------------------+-------------------+-------------------------------------------------------------------------------------+------------------------------------------------------------+
 created_on |       name        | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments |                                      arguments                                      |                      description                           |
------------+-------------------+-------------+------------+--------------+---------+-------------------+-------------------+-------------------------------------------------------------------------------------+------------------------------------------------------------+
            | 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.                |
------------+-------------------+-------------+------------+--------------+---------+-------------------+-------------------+-------------------------------------------------------------------------------------+------------------------------------------------------------+