SnowConvert : références de fonctions pour SQL-Server

ISNUMERIC_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) détermine si une expression est un type numérique valide.

ISNUMERIC_UDF(EXPR VARCHAR)
Copy

Paramètres

EXPR VARCHAR

L’expression à évaluer.

Renvoie

Renvoie 1 lorsque l’expression d’entrée est évaluée à un type de données numériques valide ; sinon, elle renvoie 0.

Exemple d’utilisation

Entrée :

SELECT ISNUMERIC_UDF('5');
Copy

Sortie :

1
Copy

PATINDEX_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) renvoie la position de départ de la première occurrence d’un modèle dans une expression spécifiée ou des zéros si le modèle n’est pas trouvé.

PATINDEX_UDF(PATTERN VARCHAR, EXPRESSION VARCHAR)
Copy

Paramètres

PATTERN VARCHAR

Le modèle à rechercher.

EXPRESSION VARCHAR

L’expression en cours d’évaluation.

Renvoie

Renvoie un entier avec la position de départ du modèle.

Exemple d’utilisation

Entrée :

SELECT PATINDEX_UDF('an', 'banana');
Copy

Sortie :

2
Copy

ERROR_SEVERITY_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) obtient une valeur indiquant la gravité d’une erreur. La valeur par défaut est toujours 16.

ERROR_SEVERITY_UDF()
Copy

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie une chaîne avec la valeur associée à ERROR_SEVERITY du nom de la variable SQL.

Exemple d’utilisation

Entrée :

SELECT ERROR_SEVERITY_UDF();
Copy

Sortie :

null -- No information set.
Copy

TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(STRING, STRING, ARRAY, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) émule le comportement des paramètres intégrés (données de liaison) dans la procédure du système SP_EXECUTESQL en remplaçant directement leurs valeurs dans la chaîne SQL.

En outre, elle supprime les paramètres OUTPUT de la chaîne, car cette opération est effectuée en dehors de EXECUTE IMMEDIATE vers lequel SP_EXECUTESQL sera transformé.

Pour plus d’informations, consultez la spécification de traduction SP_EXECUTESQL.

TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
    _SQL_STRING STRING,
    _PARAMS_DEFINITION STRING,
    _PARAMS_NAMES ARRAY,
    _PARAMS_VALUES ARRAY
)
Copy

Paramètres

_SQL_STRING STRING

La chaîne à transformer.

_PARAMS_DEFINITION STRING

La définition originale des paramètres vérifie l’ordre dans lequel les valeurs des paramètres doivent être attribuées.

_PARAMS_NAMES ARRAY

Le tableau des noms de paramètres qui remplacent les valeurs de la chaîne SQL.

_PARAMS_VALUES ARRAY

Le tableau des valeurs des paramètres à remplacer dans la chaîne SQL.

Renvoie

Renvoie une STRING dont les valeurs des paramètres intégrés ont été remplacées.

Exemple d’utilisation

Entrée :

SELECT TRANSFORM_SP_EXECUTE_SQL_STRING_UDF(
    'SELECT * FROM PERSONS WHERE NAME LIKE (@NAME) AND ID < @id AND AGE < @age;', '@age INT, @id INT, @name VARCHAR(25)',
    ARRAY_CONSTRUCT('', '', ''),
    ARRAY_CONSTRUCT(30, 100, 'John Smith'));
Copy

Sortie :

SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
Copy

TABLE_OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si une table portant un nom spécifique a déjà été créée.

TABLE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de la table à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de la table.

Exemple d’utilisation

Entrée :

SELECT TABLE_OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

ERROR_PROCEDURE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) renvoie la valeur associée à ERROR_PROCEDURE du nom de la variable SQL.

ERROR_PROCEDURE_UDF()
Copy

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie une chaîne avec la valeur associée à ERROR_PROCEDURE du nom de la variable SQL.

Exemple d’utilisation

Entrée :

SELECT ERROR_PROCEDURE_UDF();
Copy

Sortie :

null -- No information set.
Copy

DB_ID_UDF(STRING)

Définition

Cette fonction définie par l’utilisateur (UDF) émule la fonctionnalité DB_ID.

DB_ID_UDF(p_database_name STRING)
Copy

Paramètres

p_database_name STRING

Le nom de la base de données pour obtenir l’identifiant.

Renvoie

Renvoie un identifiant qui correspond au numéro attribué à la base de données lors de sa création. Ce numéro est attribué de manière consécutive.

Exemple d’utilisation

Entrée :

SELECT DB_ID_UDF('MY_DATABASE')
Copy

Sortie :

6
Copy

Avertissement

Si la base de données n’existe pas, elle renvoie null.

ERROR_LINE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) renvoie la valeur associée à ERROR_LINE du nom de la variable SQL.

ERROR_LINE_UDF()
Copy

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie une chaîne avec la valeur associée à ERROR_LINE du nom de la variable SQL.

Exemple d’utilisation

Entrée :

SELECT ERROR_LINE_UDF();
Copy

Sortie :

null -- No information set.
Copy

FUNCTION_OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si une fonction portant un nom spécifique a déjà été créée.

VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de la fonction à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de la fonction.

Exemple d’utilisation

Entrée :

SELECT FUNCTION_OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

CONSTRAINT_OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si une contrainte portant un nom spécifique a déjà été créée.

CONSTRAINT_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de la contrainte à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de la contrainte.

Exemple d’utilisation

Entrée :

SELECT CONSTRAINT_OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

FOR_XML_UDF (OBJECT, VARCHAR, VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) convertit un objet en XML.

FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR, ROOT_NAME VARCHAR)
Copy

Paramètres

OBJ OBJECT

Objet à convertir.

ELEMENT_NAME VARCHAR

Nom de l’élément à donner à l’objet.

ROOT_NAME VARCHAR

Le nom racine de XML.

Renvoie

Renvoie un varchar au format XML.

Exemple d’utilisation

Entrée :

SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee', 'employees');
Copy

Sortie :

<employees>
    <employee type="OBJECT">
        <id type="INTEGER">1</id>
        <name type="VARCHAR">David</name>
    </employee>
<employees>
Copy

OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si un objet portant un nom spécifique a déjà été créé.

OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de l’objet à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de l’objet.

Exemple d’utilisation

Entrée :

SELECT OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

PROCEDURE_OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si une procédure portant un nom spécifique a déjà été créée.

PROCEDURE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de la procédure à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de la procédure.

Exemple d’utilisation

Entrée :

SELECT PROCEDURE_OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

ISDATE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) détermine si la valeur d’entrée est une date valide.

ISDATE_UDF(DATE_VALUE STRING)
Copy

Paramètres

DATE_VALUE STRING

La date qui va être évaluée.

Renvoie

Renvoie 1 lorsque l’expression d’entrée est évaluée à un type de données de date valide ; sinon, elle renvoie 0.

Exemple d’utilisation

Entrée :

SELECT ISDATE_UDF('2024-01-26');
Copy

Sortie :

1
Copy

ERROR_NUMBER_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) renvoie la valeur associée à ERROR_NUMBER du nom de la variable SQL.

ERROR_NUMBER_UDF()
Copy

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie une chaîne avec la valeur associée à ERROR_NUMBER du nom de la variable SQL.

Exemple d’utilisation

Entrée :

SELECT ERROR_NUMBER_UDF();
Copy

Sortie :

null -- No information set.
Copy

OFFSET_FORMATTER (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) est une fonction auxiliaire de pour le formatage de l’heure de décalage et de son opérateur préfixe.

OFFSET_FORMATTER(offset_hrs VARCHAR)
Copy

Paramètres

offset_hrs VARCHAR

La valeur à formater.

Renvoie

Renvoie une valeur de type varchar contenant la sortie formatée pour le décalage.

Exemple d’utilisation

Entrée :

 SELECT OFFSET_FORMATTER('2024-01-26 22:00:50.708 -0800');
Copy

Sortie :

2024-01-26 22:00:50.708 -0800
Copy

OPENXML_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) génère une requête à partir d’une lecture XML.

OPENXML_UDF(XML VARCHAR, PATH VARCHAR)
Copy

Paramètres

XML VARCHAR

Le contenu XML sous forme de varchar.

PATH VARCHAR

Le chemin du nœud à extraire.

Renvoie

Renvoie une table contenant les données générées par la lecture XML.

Exemple d’utilisation

Entrée :

SELECT * FROM TABLE(OPENXML_UDF('<iceCreamOrders>
    <order>
        <customer customerID="CUST001" contactName="Test ABC">
            <iceCreamOrder orderID="ORD001" employeeID="101" orderDate="2023-05-15T14:30:00">
                <iceCreamDetail productID="001" quantity="2"/>
                <iceCreamDetail productID="003" quantity="1"/>
            </iceCreamOrder>
        </customer>
    </order>
    <order>
        <customer customerID="CUST002" contactName="Test XYZ">
            <iceCreamOrder orderID="ORD002" employeeID="102" orderDate="2023-06-20T12:45:00">
                <iceCreamDetail productID="005" quantity="3"/>
                <iceCreamDetail productID="007" quantity="2"/>
            </iceCreamOrder>
        </customer>
    </order>
</iceCreamOrders>
', 'iceCreamOrders:order'));
Copy

Sortie :

Value
1{ "order": { "$name": "order", "customer": [ { "customer": { "$name": "customer", "@contactName": "Test ABC", "@customerID": "CUST001", "iceCreamOrder": [ { "iceCreamOrder": { "$name": "iceCreamOrder", "@employeeID": 101, "@orderDate": "2023-05-15T14:30:00", "@orderID": "ORD001", "iceCreamDetail": [ { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "001", "@quantity": 2 } }, { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "003", "@quantity": 1 } } ] } } ] } } ] } }
2{ "order": { "$name": "order", "customer": [ { "customer": { "$name": "customer", "@contactName": "Test XYZ", "@customerID": "CUST002", "iceCreamOrder": [ { "iceCreamOrder": { "$name": "iceCreamOrder", "@employeeID": 102, "@orderDate": "2023-06-20T12:45:00", "@orderID": "ORD002", "iceCreamDetail": [ { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "005", "@quantity": 3 } }, { "iceCreamDetail": { "$name": "iceCreamDetail", "@productID": "007", "@quantity": 2 } } ] } } ] } } ] } }

QUOTENAME_UDF (VARCHAR, VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) crée un identificateur délimité valide pour le serveur SQL en renvoyant une chaîne Unicode à laquelle les délimiteurs ont été ajoutés.

QUOTENAME_UDF(STR VARCHAR, QUOTECHAR VARCHAR)
Copy

Paramètres

STR VARCHAR

La chaîne à transformer.

QUOTECHAR VARCHAR

Le délimiteur à ajouter au premier paramètre.

Renvoie

Renvoie un varchar auquel l’identificateur du deuxième paramètre a été ajouté comme délimiteur.

Exemple d’utilisation

Entrée :

SELECT QUOTENAME_UDF('test', '?');
Copy

Sortie :

?test?
Copy

UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING)

Définition

Cette fonction définie par l’utilisateur (UDF) met à jour les variables d’erreur dans un environnement afin de savoir quand la procédure génère une erreur.

UPDATE_ERROR_VARS_UDF(MESSAGE STRING, SEVERITY STRING, STATE STRING)
Copy

Paramètres

STATE STRING

L’état du message d’erreur.

MESSAGE STRING

Le message à afficher dans l’erreur.

SEVERITY STRING

La gravité de l’erreur.

Renvoie

Renvoie une valeur chaîne contenant les nouvelles informations sur le message d’erreur.

Exemple d’utilisation

Entrée :

  SELECT UPDATE_ERROR_VARS_UDF('Message', '1', '1');
Copy

Sortie :

1ABC1
Copy

ROUND_MILLISECONDS_UDF (TIMESTAMP_TZ)

Définition

Cette fonction définie par l’utilisateur (UDF) est une fonction qui arrondit les millisecondes à des incréments de 0, 3 ou 7 millisecondes. Transact arrondit automatiquement les millisecondes des valeurs temporelles.

ROUND_MILLISECONDS_UDF(INPUT TIMESTAMP_TZ)
Copy

Paramètres

INPUT TIMESTAMP_TZ

Le temps d’entrée à arrondir.

Renvoie

Renvoie la même valeur d’entrée TIMESTAMP_TZ mais avec les millisecondes arrondies.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.ROUND_MILLISECONDS_UDF('1900-01-01 00:00:00.995 +0100')
Copy

Sortie :

'1900-01-01 00:00:00.997 +0100'
Copy

CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF (NUMBER)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour convertir une valeur numérique en timestamp_tz.

CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(INPUT NUMBER)
Copy

Paramètres

INPUT NUMBER

Le nombre à transmettre.

Renvoie

Retourne un timestamp_tz avec le fuseau horaire actuel.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.CAST_NUMERIC_TO_TIMESTAMP_TZ_UDF(0)
Copy

Sortie :

1900-01-01 01:00:00.000 +0100
Copy

IDENTITY_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) détermine si une expression est un type numérique valide.

IDENTITY_UDF()
Copy

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie une expression entière.

Exemple d’utilisation

Avertissement

Une séquence est générée pour prendre en charge la logique.

Entrée :

IDENTITY_UDF()
Copy

Sortie :

1
Copy

FOR_XML_UDF (OBJECT, VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) convertit un objet en XML.

FOR_XML_UDF(OBJ OBJECT, ELEMENT_NAME VARCHAR)
Copy

Paramètres

OBJ OBJECT

Objet à convertir.

ELEMENT_NAME VARCHAR

Nom de l’élément à donner à l’objet.

Renvoie

Renvoie un varchar au format XML.

Exemple d’utilisation

Entrée :

SELECT
FOR_XML_UDF(OBJECT_CONSTRUCT('id', 1, 'name', 'David'), 'employee');
Copy

Sortie :

<employee type="OBJECT">
    <id type="INTEGER">1</id>
    <name type="VARCHAR">David</name>
</employee>
Copy

QUOTENAME_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) crée un identificateur délimité valide pour le serveur SQL en renvoyant une chaîne Unicode à laquelle les délimiteurs ont été ajoutés.

QUOTENAME_UDF(STR VARCHAR)
Copy

Paramètres

STR VARCHAR

La chaîne à transformer.

Renvoie

Renvoie un varchar auquel a été ajouté l’identificateur délimiteur.

Exemple d’utilisation

Entrée :

SELECT QUOTENAME_UDF('test');
Copy

Sortie :

"test"
Copy

VIEW_OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si une vue portant un nom spécifique a déjà été créée.

VIEW_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de la vue à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de la vue.

Exemple d’utilisation

Entrée :

SELECT VIEW_OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

SUBTRACT_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)

Définition

Cette fonction définie par l’utilisateur (UDF) convertit les deux entrées dans le fuseau horaire de la session du système et soustrait les dates (FIRST_DATE - SECOND_DATE) en prenant 1900-01-01 00:00:00.000 comme valeur zéro. Si aucune valeur n’inclut le fuseau horaire, le fuseau horaire de la session en cours est utilisé.

PUBLIC.SUBTRACT_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
Copy

Paramètres

FIRST_DATE TIMESTAMP_TZ

La première date à laquelle il faut soustraire.

SECOND_DATE TIMESTAMP_TZ

La deuxième date à laquelle il faut soustraire.

Renvoie

Renvoie la différence entre les deux dates d’entrée.

Exemple d’utilisation

Entrée :

SELECT SUBTRACT_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
Copy

Sortie :

1899-12-31 13:59:59.997 -0800
Copy

STR_UDF (FLOAT, VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) est un modèle pour traduire la fonctionnalité de SQL Server STR() vers Snowflake lorsqu’elle est utilisée avec un ou deux paramètres optionnels

STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Copy

Paramètres

FLOAT_EXPR FLOAT

L’expression à traiter.

FORMAT VARCHAR

Le format à appliquer.

Renvoie

Renvoie un varchar contenant l’expression formatée.

Exemple d’utilisation

Entrée :

SELECT STR_UDF(1.5, '99');
Copy

Sortie :

2
Copy

XML_JSON_SIMPLE

Définition

Cette fonction définie par l’utilisateur (UDF) génère un objet contenant les informations issues de l’exécution d’une lecture d’une valeur XML.

XML_JSON_SIMPLE(XML VARIANT)
Copy

Paramètres

XML VARIANT

Le XML à lire.

Renvoie

Renvoie un objet contenant les informations traitées à partir de XML.

Exemple d’utilisation

Entrée :

SELECT XML_JSON_SIMPLE(TO_VARIANT(PARSE_XML('<iceCreamOrders>
    <order>
        <customer customerID="CUST001" contactName="Test ABC">
            <iceCreamOrder orderID="ORD001" employeeID="101" orderDate="2023-05-15T14:30:00">
                <iceCreamDetail productID="001" quantity="2"/>
                <iceCreamDetail productID="003" quantity="1"/>
            </iceCreamOrder>
        </customer>
    </order>
    <order>
        <customer customerID="CUST002" contactName="Test XYZ">
            <iceCreamOrder orderID="ORD002" employeeID="102" orderDate="2023-06-20T12:45:00">
                <iceCreamDetail productID="005" quantity="3"/>
                <iceCreamDetail productID="007" quantity="2"/>
            </iceCreamOrder>
        </customer>
    </order>
</iceCreamOrders>
')));
Copy

Sortie :

{
  "iceCreamOrders": {
    "$name": "iceCreamOrders",
    "order": [
      {
        "order": {
          "$name": "order",
          "customer": [
            {
              "customer": {
                "$name": "customer",
                "@contactName": "Test ABC",
                "@customerID": "CUST001",
                "iceCreamOrder": [
                  {
                    "iceCreamOrder": {
                      "$name": "iceCreamOrder",
                      "@employeeID": 101,
                      "@orderDate": "2023-05-15T14:30:00",
                      "@orderID": "ORD001",
                      "iceCreamDetail": [
                        {
                          "iceCreamDetail": {
                            "$name": "iceCreamDetail",
                            "@productID": "001",
                            "@quantity": 2
                          }
                        },
                        {
                          "iceCreamDetail": {
                            "$name": "iceCreamDetail",
                            "@productID": "003",
                            "@quantity": 1
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "order": {
          "$name": "order",
          "customer": [
            {
              "customer": {
                "$name": "customer",
                "@contactName": "Test XYZ",
                "@customerID": "CUST002",
                "iceCreamOrder": [
                  {
                    "iceCreamOrder": {
                      "$name": "iceCreamOrder",
                      "@employeeID": 102,
                      "@orderDate": "2023-06-20T12:45:00",
                      "@orderID": "ORD002",
                      "iceCreamDetail": [
                        {
                          "iceCreamDetail": {
                            "$name": "iceCreamDetail",
                            "@productID": "005",
                            "@quantity": 3
                          }
                        },
                        {
                          "iceCreamDetail": {
                            "$name": "iceCreamDetail",
                            "@productID": "007",
                            "@quantity": 2
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
Copy

FORMATMESSAGE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) fournit les fonctionnalités de la fonction FORMATMESSAGE de SQL Server. Il construit un message à partir d’un message existant issu d’une chaîne fournie.

FORMATMESSAGE_UDF(MESSAGE STRING, ARGS ARRAY)
Copy

Paramètres

MESSAGE STRING

La chaîne du message existant.

ARGS ARRAY

Les arguments à ajouter à la première chaîne de messages.

Renvoie

Renvoie une chaîne contenant le message concaténé correspondant aux positions de l’argument.

Exemple d’utilisation

Entrée :

SELECT FORMATMESSAGE_UDF('Test %s!', TO_ARRAY('a'));
Copy

Sortie :

Test a!
Copy

IS_MEMBER_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) détermine l’appartenance à un groupe de fenêtres en examinant un jeton d’accès.

IS_MEMBER_UDF(ROLE STRING)
Copy

Paramètres

ROLE STRING

Le nom du rôle à vérifier.

Renvoie

Renvoie une expression booléenne sur true si l’utilisateur actuel est membre du rôle ; sinon renvoie false.

Exemple d’utilisation

Entrée :

SELECT IS_MEMBER_UDF('TEST');
Copy

Sortie :

FALSE
Copy

RAISERROR_UDF (DOUBLE, DOUBLE, DOUBLE, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) lance une exception avec un message spécifique.

RAISERROR_UDF(MSG_ID DOUBLE, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Copy

Paramètres

MSG_ID DOUBLE

Le ID du message du message d’erreur.

SEVERITY DOUBLE

Le numéro de gravité de l’erreur.

STATE DOUBLE

Le numéro d’état du message d’erreur.

PARAMS ARRAY

Les informations complémentaires du message d’erreur.

Renvoie

Renvoie un message d’erreur sous la forme d’une variable.

Exemple d’utilisation

Entrée :

SELECT RAISERROR_UDF(2.1, 1.6, 1.0, array_construct('More information'));
Copy

Sortie :

MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
Copy

STR_UDF(FLOAT)

Définition

Cette fonction définie par l’utilisateur (UDF) est un modèle pour traduire la fonctionnalité de SQL Server STR() vers Snowflake lorsqu’elle est utilisée avec un ou deux paramètres optionnels

STR_UDF(FLOAT_EXPR FLOAT, FORMAT VARCHAR)
Copy

Paramètres

FLOAT_EXPR FLOAT

L’expression à traiter.

Renvoie

Renvoie un varchar contenant l’expression formatée.

Exemple d’utilisation

Entrée :

SELECT STR_UDF(1.5);
Copy

Sortie :

2
Copy

SWITCHOFFSET_UDF (TIMESTAMP_TZ, VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) renvoie un nouvel horodatage_tz avec le temps ajusté pour le paramètre target_tz.

SWITCHOFFSET_UDF(source_timestamp TIMESTAMP_TZ, target_tz varchar)
Copy

Paramètres

source_timestamp TIMESTAMP_TZ

L’horodatage source à ajuster.

target_tz varchar

Le temps cible à prendre.

Renvoie

Renvoie l’heure cible formatée sous la forme TIMESTAMP_TZ.

Exemple d’utilisation

Entrée :

SELECT SWITCHOFFSET_UDF(time_in_paris, '-0600') as time_in_costa_rica;
Copy

Sortie :

time_in_paris

time_in_costa_rica

2022-10-05 22:00:24.467 +02:00

2022-10-05 14:00:24.467 -06:00

GET_CURRENT_TIMEZONE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) permet d’obtenir le fuseau horaire de la session ou du système actuel sous la forme d’un littéral.

GET_CURRENT_TIMEZONE_UDF()
Copy

Paramètres

Aucun paramètre.

Renvoie

Renvoie une valeur littérale avec le fuseau horaire de la session ou du système en cours sous forme littérale.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.GET_CURRENT_TIMEZONE_UDF();
Copy

Sortie :

'Europe/London'
Copy

UPDATE_ERROR_VARS_UDF (STRING, STRING, STRING, STRING, STRING, STRING)

Définition

Cette fonction définie par l’utilisateur (UDF) met à jour les variables d’erreur dans un environnement afin de savoir quand la procédure génère une erreur.

UPDATE_ERROR_VARS_UDF(LINE STRING,CODE STRING, STATE STRING, MESSAGE STRING, PROC_NAME STRING, SEVERITY STRING)
Copy

Paramètres

LINE STRING

La ligne relative à l’erreur.

CODE STRING

Le code d’erreur associé au message d’erreur.

STATE STRING

L’état du message d’erreur.

MESSAGE STRING

Le message à afficher dans l’erreur.

PROC_NAME STRING

Le nom de la procédure.

SEVERITY STRING

La gravité de l’erreur.

Renvoie

Renvoie une valeur chaîne contenant les nouvelles informations sur le message d’erreur.

Exemple d’utilisation

Entrée :

  SELECT UPDATE_ERROR_VARS_UDF('1', '1', '1', 'ABC', 'TEST', '1');
Copy

Sortie :

111ABCTEST1
Copy

SEQUENCE_OBJECT_ID_UDF (VARCHAR)

Définition

Cette fonction définie par l’utilisateur (UDF) vérifie si une séquence portant un nom spécifique a déjà été créée.

SEQUENCE_OBJECT_ID_UDF(NAME VARCHAR)
Copy

Paramètres

NAME VARCHAR

Le nom de la séquence à évaluer.

Renvoie

Renvoie une expression booléenne dépendant de l’existence de la séquence.

Exemple d’utilisation

Entrée :

SELECT SEQUENCE_OBJECT_ID_UDF('Test');
Copy

Sortie :

FALSE
Copy

CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF (TIMESTAMP_TZ)

Définition

Cette fonction définie par l’utilisateur (UDF) est utilisée pour convertir timestamp_tz en numérique. Il convertit le fuseau horaire actuel en UTC car la valeur numérique ne peut pas sauvegarder l’information de l”horodatage.

CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF(INPUT TIMESTAMP_TZ)
Copy

Paramètres

INPUT TIMESTAMP_TZ

L”horodatage de l’entrée qui va être transmis.

Renvoie

Renvoie un numérique avec un point décimal. La partie entière représente le nombre de jours à partir de 1900-01-01 et la partie décimale est le pourcentage de millisecondes dans 24 heures.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.CAST_TIMESTAMP_TZ_TO_NUMERIC_UDF('1900-01-01 01:00:00.000 +0100')
Copy

Sortie :

0
Copy

RAISERROR_UDF (VARCHAR, DOUBLE, DOUBLE, ARRAY)

Définition

Cette fonction définie par l’utilisateur (UDF) lance une exception avec un message spécifique.

RAISERROR_UDF(MSG_TEXT VARCHAR, SEVERITY DOUBLE, STATE DOUBLE, PARAMS ARRAY)
Copy

Paramètres

MSG_TEXT VARCHAR

Le texte du message d’erreur.

SEVERITY DOUBLE

Le numéro de gravité de l’erreur.

STATE DOUBLE

Le numéro d’état du message d’erreur.

PARAMS ARRAY

Les informations complémentaires du message d’erreur.

Renvoie

Renvoie un message d’erreur sous la forme d’une variable.

Exemple d’utilisation

Entrée :

SELECT RAISERROR_UDF('<\<%*.*s>> TEST', 1.0, 1, array_construct());
Copy

Sortie :

MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
Copy

PARSENAME_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) obtient l’index PART_NUMBER d’une chaîne séparée par '.'.

PARSENAME_UDF(STR VARCHAR, PART_NUMBER INT)
Copy

Paramètres

STR VARCHAR

Le nom de l’objet sous forme de chaîne.

PART_NUMBER INT

La partie du nom de l’objet à vérifier.

Renvoie

Renvoie la partie spécifiée d’un nom d’objet.

Exemple d’utilisation

Entrée :

SELECT PARSENAME_UDF('Test_A.Test_B.Test_C]', 2);
Copy

Sortie :

Test_B
Copy

ERROR_STATE_UDF

Définition

Cette fonction définie par l’utilisateur (UDF) obtient l’état d’erreur quel que soit le nombre de fois où elle est exécutée ou l’endroit où elle est exécutée dans le champ d’application du bloc CATCH.

ERROR_STATE_UDF()
Copy

Paramètres

Aucun paramètre d’entrée.

Renvoie

Renvoie la chaîne avec l’état d’erreur, quel que soit le nombre de fois où elle est exécutée ou l’endroit où elle est exécutée dans le champ d’application du bloc CATCH.

Exemple d’utilisation

Entrée :

SELECT ERROR_STATE_UDF();
Copy

Sortie :

null -- No information set.
Copy

CAST_TIME_TO_TIMESTAMP_TZ_UDF (TIME)

Définition

Cette fonction définie par l’utilisateur (UDF) transforme time en timestamp_tz.

CAST_TIME_TO_TIMESTAMP_TZ_UDF(INPUT TIME)
Copy

Paramètres

INPUT TIME

L’heure d’entrée à convertir en timestamp_tz.

Renvoie

Renvoie un timestamp_tz avec la date 1900-01-01 et la même heure que l’entrée.

Exemple d’utilisation

Entrée :

SELECT PUBLIC.CAST_TIME_TO_TIMESTAMP_TZ_UDF('00:00:00.995')
Copy

Sortie :

1900-01-01 00:00:00.997
Copy

SUM_TIMESTAMP_TZ_UDF (TIMESTAMP_TZ, TIMESTAMP_TZ)

Définition

Cette fonction définie par l’utilisateur (UDF) convertit les deux entrées dans le fuseau horaire du système ou de la session et additionne les dates en prenant 1900-01-01 00:00:00.000 comme valeur zéro. Si aucune valeur n’inclut le fuseau horaire, le fuseau horaire de la session en cours est utilisé.

SUM_TIMESTAMP_TZ_UDF(FIRST_DATE TIMESTAMP_TZ, SECOND_DATE TIMESTAMP_TZ)
Copy

Paramètres

FIRST_DATE TIMESTAMP_TZ

La première date à ajouter.

SECOND_DATE TIMESTAMP_TZ

La deuxième date à ajouter.

Renvoie

Renvoie la somme entre les deux dates d’entrée.

Exemple d’utilisation

Entrée :

SELECT SUM_TIMESTAMP_TZ_UDF('1900-01-01 00:00:00.000 +0100', '1900-01-01 00:00:00.003 -0100')
Copy

Sortie :

1900-01-01 00:00:00.003 +0000
Copy