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)
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');
Sortie :
1
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)
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');
Sortie :
2
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()
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();
Sortie :
null -- No information set.
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
)
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'));
Sortie :
SELECT * FROM PERSONS WHERE NAME LIKE ('John Smith') AND ID < 100 AND AGE < 30;
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)
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');
Sortie :
FALSE
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()
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();
Sortie :
null -- No information set.
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)
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')
Sortie :
6
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()
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();
Sortie :
null -- No information set.
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)
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');
Sortie :
FALSE
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)
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');
Sortie :
FALSE
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)
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');
Sortie :
<employees>
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
<employees>
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)
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');
Sortie :
FALSE
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)
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');
Sortie :
FALSE
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)
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');
Sortie :
1
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()
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();
Sortie :
null -- No information set.
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)
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');
Sortie :
2024-01-26 22:00:50.708 -0800
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)
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'));
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)
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', '?');
Sortie :
?test?
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)
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');
Sortie :
1ABC1
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)
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')
Sortie :
'1900-01-01 00:00:00.997 +0100'
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)
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)
Sortie :
1900-01-01 01:00:00.000 +0100
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()
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()
Sortie :
1
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)
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');
Sortie :
<employee type="OBJECT">
<id type="INTEGER">1</id>
<name type="VARCHAR">David</name>
</employee>
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)
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');
Sortie :
"test"
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)
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');
Sortie :
FALSE
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)
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')
Sortie :
1899-12-31 13:59:59.997 -0800
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)
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');
Sortie :
2
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)
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>
')));
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
}
}
]
}
}
]
}
}
]
}
}
]
}
}
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)
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'));
Sortie :
Test a!
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)
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');
Sortie :
FALSE
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)
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'));
Sortie :
MESSAGE: 2.1, LEVEL: 1.6, STATE: 1
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)
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);
Sortie :
2
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)
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;
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()
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();
Sortie :
'Europe/London'
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)
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');
Sortie :
111ABCTEST1
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)
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');
Sortie :
FALSE
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)
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')
Sortie :
0
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)
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());
Sortie :
MESSAGE: <<undefined>> TEST, LEVEL: 1, STATE: 1
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)
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);
Sortie :
Test_B
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()
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();
Sortie :
null -- No information set.
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)
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')
Sortie :
1900-01-01 00:00:00.997
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)
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')
Sortie :
1900-01-01 00:00:00.003 +0000