SnowConvert AI - Function References for 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
GET_WEEK_START_UDF¶
Définition¶
This user-defined function (UDF) retrieves the WEEK_START configuration, which is equivalent to the @@FIRSTDATE function. To maintain consistency across platforms, ensure the WEEK_START parameter matches the DATEFIRST setting in Transact-SQL.
GET_WEEK_START_UDF()
Renvoie¶
Returns a number representing the first day of the week.
Exemple d’utilisation¶
Snowflake’s default value for WEEK_START is 0. However, this function returns 7 to align with the default DATEFIRST value in Transact-SQL, ensuring consistent behavior.
Entrée :
SELECT GET_WEEK_START_UDF();
Sortie :
7
DATE_PART_WEEK_DAY_UDF¶
Définition¶
This user-defined function (UDF) gets the day of the week as a number (1-7) To ensure the consistency across platforms, please set the WEEK_START parameter to the same value as the DATEFIRST setting in Transact-SQL.
DATE_PART_WEEK_DAY_UDF(INPUT DATE)
Paramètres¶
INPUT DATE
Date to get the day.
Renvoie¶
Returns a number representing the day of the week where Monday=1, Tuesday=2, …, Sunday=7.
Exemple d’utilisation¶
The WEEK_START parameter is 0, which causes the DATE_PART_WEEK_DAY_UDF to return a value of 1.
Entrée :
SELECT PUBLIC.DATE_PART_WEEK_DAY_UDF('2025-08-17') AS "Sunday";
Sortie :
1