L'outil d'édition de requêtes permet d'utiliser des fonctions avancées afin de réaliser des filtrages complexes. Pour cela, la palette de l'outil contient l'élément Expression que vous pouvez utiliser dans l'espace de travail. L'utilisation de cet élément est détaillée dans une section spécifique.
Cet élément vous permet de saisir manuellement vos conditions. Vous pouvez y utiliser les fonctions définies dans les sections ci-après.
Plusieurs types de fonctions sont disponibles, en fonction des résultats souhaités et du types des données manipulées :
D'autres fonctions sont disponibles dans toutes les activités qui vous permettent d'utiliser des variables d'événements après avoir appelé un workflow avec des paramètres externes. Elles sont présentées dans cette section.
Les fonctions de date sont utilisées pour manipuler des valeurs de date ou d'heure.
Nom |
Description |
Syntaxe |
AddDays |
Ajoute un nombre de jours à une date |
AddDays(<date>, <nombre>) |
AddHours |
Ajoute un nombre d'heures à une date |
AddHours(<date>, <nombre>) |
AddMinutes |
Ajoute un nombre de minutes à une date |
AddMinutes(<date>, <nombre>) |
AddMonths |
Ajoute un nombre de mois à une date |
AddMonths(<date>, <nombre>) |
AddSeconds |
Ajoute un nombre de secondes à une date |
AddSeconds(<date>, <nombre>) |
AddYears |
Ajoute un nombre d'années à une date |
AddYears(<date>, <nombre>) |
DateOnly |
Renvoie la date uniquement (avec heure à zéro) |
DateOnly(<date>) |
Jour |
Renvoie le nombre représentant le jour de la date |
Day(<date>) |
DayOfYear |
Renvoie le numéro du jour dans l'année de la date |
DayOfYear(<date>) |
DaysAgo |
Renvoie la date correspondant à la date courante moins n jours |
DaysAgo(<nombre>) |
DaysAgoInt |
Renvoie la date (entier aaaammjj) correspondant à la date courante moins n jours |
DaysAgoInt(<nombre>) |
DaysDiff |
Nombre de jours entre deux dates |
DaysDiff(<date de fin>, <date de début>) |
DaysOld |
Renvoie l'ancienneté en jours d'une date |
DaysOld(<date>) |
GetDate |
Renvoie la date système courante du serveur |
GetDate() |
Hour |
Renvoie l'heure de la date |
Hour(<date>) |
HoursDiff |
Renvoie le nombre d'heures entre deux dates |
HoursDiff(<date de fin>, <date de début>) |
LocalToUTC |
Convertit des date et heure locales en format UTC. |
LocalToUTC(<date>, <Fuseau horaire>) |
Minute |
Renvoie les minutes de la date |
Minute(<date>) |
MinutesDiff |
Renvoie le nombre de minutes entre deux dates |
MinutesDiff(<date de fin>, <date de début>) |
Month |
Renvoie le nombre représentant le mois de la date |
Month(<date>) |
MonthsAgo |
Renvoie la date correspondant à la date courante moins n mois |
MonthsAgo(<nombre>) |
MonthsDiff |
Renvoie le nombre de mois entre deux dates |
MonthsDiff(<date de fin>, <date de début>) |
MonthsOld |
Renvoie l'ancienneté en mois d'une date |
MonthsOld(<date>) |
Second |
Renvoie les secondes de la date |
Second(<date>) |
Oldest |
Retourne la date la plus ancienne. | Oldest(<Date>, <Date>) |
SecondsDiff |
Renvoie le nombre de secondes entre deux dates |
SecondsDiff(<date de fin>, <date de début>) |
SubDays |
Enlève un nombre de jours à une date |
SubDays(<date>, <nombre>) |
SubHours |
Enlève un nombre d'heures à une date |
SubHours(<date>, <nombre>) |
SubMinutes |
Enlève un nombre de minutes à une date |
SubMinutes(<date>, <nombre>) |
SubMonths |
Enlève un nombre de mois à une date |
SubMonths(<date>, <nombre>) |
SubSeconds |
Enlève un nombre de secondes à une date |
SubSeconds(<date>, <nombre>) |
SubYears |
Enlève un nombre d'années à une date |
SubYears(<date>, <nombre>) |
ToDate |
Convertit une date + heure en date seule |
ToDate(<date + heure>) |
ToDateTime |
Convertit une chaîne en date + heure |
ToDateTime(<chaîne>) |
ToDateTimeWithTimezone |
Convertit une chaîne en date + fuseau horaire. Exemple : ToDateTimeWithTimezone ("2019-02-19 08:09:00", "Asia/Tehran") |
ToDateTimeWithTimezone(<chaîne>) |
TruncDate |
Arrondit une date + heure à la seconde |
TruncDate(@lastModified, <nombre de secondes>) |
TruncDateTZ |
Arrondit une date + heure à la seconde près |
TruncDateTZ(<date>, <nombre de secondes>, <fuseau horaire>) |
TruncQuarter |
Arrondit une date au trimestre |
TruncQuarter(<date>) |
TruncTime |
Arrondit la partie heure à la seconde |
TruncTime(<date>, <nombre de secondes>) |
TruncWeek |
Arrondit une date à la semaine |
TruncWeek(<date>) |
TruncYear |
Arrondit une date + heure au premier janvier de l'année |
TruncYear(<date>) |
WeekDay |
Renvoie le numéro du jour dans la semaine de la date |
WeekDay(<date>) |
Year |
Renvoie le nombre représentant l'année de la date |
Year(<date>) |
YearAnd Month |
Renvoie le nombre représentant l'année et le mois de la date |
YearAndMonth(<date>) |
YearsDiff |
Renvoie le nombre d'années entre deux dates |
YearsDiff(<date de fin>, <date de début>) |
YearsOld |
Renvoie l'ancienneté en années d'une date |
YearsOld(<date>) |
Les fonctions de géomarketing sont utilisées pour manipuler des valeurs géographiques.
Nom |
Description |
Syntaxe |
Distance |
Renvoie la distance en kilomètres entre deux points définis par leur longitude et latitude (exprimées en degrés) |
Distance(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>) |
Les fonctions numériques sont utilisées pour convertir du texte en nombres.
Nom |
Description |
Syntaxe |
Abs |
Renvoie la valeur absolue d'un nombre |
Abs(<nombre>) |
Ceil |
Renvoie le plus petit entier supérieur ou égal à un nombre |
Ceil(<nombre>) |
Floor |
Renvoie le plus grand entier inférieur ou égal à un nombre |
Floor(<nombre>) |
Greatest |
Renvoie le plus grand de deux nombres |
Greatest(<nombre 1>, <nombre 2>) |
Least |
Renvoie le plus petit de deux nombres |
Least(<nombre 1>, <nombre 2>) |
Mod |
Renvoie le reste de la division entiers de n1 par n2 |
Mod(<nombre 1>, <nombre 2>) |
Percent |
Renvoie la proportion en pourcentage entre deux nombres |
Percent(<nombre 1>, <nombre 2>) |
Random |
Renvoie une valeur aléatoire |
Random() |
Round |
Arrondit un nombre à n décimales près |
Round(<nombre>, <nombre de décimales>) |
Sign |
Renvoie le signe du nombre |
Sign(<nombre>) |
ToDouble |
Convertit un entier en réel |
ToDouble(<nombre>) |
ToInt64 |
Convertit un réel en entier 64 bits |
ToInt64(<nombre>) |
ToInteger |
Convertit un réel en entier |
ToInteger(<nombre>) |
Trunc |
Tronque n1 à n2 décimales |
Trunc(<n1>, <n2>) |
Ce tableau contient les autres fonctions disponibles.
Nom |
Description |
Syntaxe |
Case |
Renvoie la valeur 1 si la condition est vérifiée. Sinon, renvoie la valeur 2 |
Case(When(<condition>, <valeur 1>), Else(<valeur 2>)) |
ClearBit |
Efface le Flag dans la valeur |
ClearBit(<identifiant>, <flag>) |
Coalesce |
Renvoie la valeur 2 si la valeur 1 est nulle ou vide (null), sinon renvoie la valeur 1 |
Coalesce(<valeur 1>, <valeur 2>) |
Decode |
Renvoie la valeur 3 si valeur 1 = valeur 2, sinon renvoie la valeur 4 |
Decode(<valeur 1>, <valeur 2>, <valeur 3>, <valeur 4>) |
Else |
Renvoie la valeur 1 (ne peut être utilisée qu'en paramètre de la fonction Case) |
Else(<valeur 1>) |
GetEmailDomain |
Extrait le domaine d'une adresse e-mail |
GetEmailDomain(<valeur>) |
GetMirrorURL |
Récupère l'URL du serveur de page miroir |
GetMirrorURL(<valeur>) |
Iif |
Renvoie la valeur 1 si l'expression est vraie, sinon renvoie la valeur 2 |
Iif(<condition>, <valeur 1>, <valeur 2>) |
IsBitSet |
Indique si le Flag est présent dans la valeur |
IsBitSet(<identifiant>, <flag>) |
IsEmptyString |
Renvoie la valeur 2 si la chaîne est vide, sinon renvoie la valeur 3 |
IsEmptyString(<chaîne>, <valeur 2>, <valeur 3>) |
NoNull |
Renvoie la chaîne vide si l'argument n'a pas de valeur (null) |
NoNull(<valeur>) |
RowId |
Renvoie le numéro de la ligne |
RowId |
SetBit |
Force le Flag dans la valeur |
SetBit(<identifiant>, <flag>) |
ToBoolean |
Convertit un nombre en booléen |
ToBoolean(<nombre>) |
When |
Renvoie la valeur 1 si l'expression est vérifiée. Sinon, renvoie la valeur 2 (ne peut être utilisée qu'en paramètre de la fonction Case) |
When(<condition>, <valeur 1>) |
newUUID |
Retourne un nouvel UUID. |
newUUID |
Les fonctions de chaîne sont utilisées pour manipuler un ensemble de chaînes.
Nom |
Description |
Syntaxe |
AllNonNull2 |
Indique si tous les paramètres sont non nuls et non vides |
AllNonNull2(<chaîne>, <chaîne>) |
AllNonNull3 |
Indique si tous les paramètres sont non nuls et non vides |
AllNonNull3(<chaîne>, <chaîne>, <chaîne>) |
Ascii |
Renvoie la valeur ascii du premier caractère de la chaîne |
Ascii(<chaîne>) |
Char |
Renvoie le caractère de code ascii n |
Char(<nombre>) |
Charindex |
Retourne la position de la chaîne 2 dans la chaîne 1 |
Charindex(<chaîne>, <chaîne>) |
DataLength |
Retourne le nombre de caractères dans une chaîne. |
DataLength(<Chaîne>) |
GetLine |
Renvoie la nième (de 1 à n) ligne de la chaîne |
GetLine(<chaîne>) |
IfEquals |
Renvoie le troisième paramètre si les deux premiers paramètres sont égaux sinon renvoie le dernier paramètre |
IfEquals(<chaîne>, <chaîne>, <chaîne>, <chaîne>) |
IsMemoNull |
Indique si le memo passé en paramètre est nul |
IsMemoNull(<Memo>) |
JuxtWords |
Concatène les deux chaînes passées en paramètres. Un espace est ajouté entre chaque chaîne dans la valeur renvoyée. |
JuxtWords(<chaîne>, <chaîne>) |
JuxtWords3 |
Concatène les trois chaînes passées en paramètres. Un espace est ajouté entre chaque chaîne dans la valeur renvoyée. |
JuxtWords3(<chaîne>, <chaîne>, <chaîne>) |
LPad |
Renvoie la chaîne complétée à gauche |
LPad(<chaîne>, <nombre>, <caractère>) |
Left |
Renvoie les n premiers caractères de la chaîne |
Left(<chaîne>, <nombre>) |
Length |
Renvoie la longueur de la chaîne |
Length(<chaîne>) |
Lower |
Renvoie la chaîne en minuscules |
Lower(<chaîne>) |
Ltrim |
Ote les espaces à gauche de la chaîne |
Ltrim(<chaîne>) |
Md5Digest |
Renvoie une représentation hexadécimale de la clé MD5 d'une chaîne |
Md5Digest(<chaîne>) |
MemoContains |
Indique si le mémo contient la chaîne passée en paramètre |
MemoContains(<memo>, <chaîne>) |
RPad |
Renvoie la chaîne complétée à droite |
RPad(<chaîne>, <nombre>, <caractère>) |
Replace |
Remplace toutes les occurrences d'une valeur de chaîne spécifiée (2e paramètre) par une autre valeur de chaîne (3e paramètre) dans une chaîne (1er paramètre). |
Replace(<Chaîne>, <Chaîne>, <Chaîne>) |
Right |
Renvoie les n derniers caractères de la chaîne |
Right(<chaîne>) |
Rtrim |
Ote les espaces à droite de la chaîne |
Rtrim(<chaîne>) |
Sha256Digest |
Calcule le hachage standard SHA256 pour une chaîne UTF8 donnée. |
Sha256Digest(<Chaîne>) |
Sha384Digest |
Calcule le hachage standard SHA384 pour une chaîne UTF8 donnée. |
Sha384Digest(<Chaîne>) |
Sha512Digest |
Calcule le hachage standard SHA512 pour une chaîne UTF8 donnée. |
Sha512Digest(<Chaîne>) |
Smart |
Renvoie la chaîne avec la première lettre de chaque mot en majuscule |
Smart(<chaîne>) |
Substring |
Extrait la sous-chaîne débutant au caractère n1 de la chaîne et de longueur n2 |
Substring(<chaîne>, <départ>, <longueur>) |
ToIntlString |
Convertit le nombre en chaîne |
ToIntlString(<nombre>) |
ToString |
Convertit le nombre en chaîne |
ToString(<nombre>) |
Upper |
Renvoie la chaîne en majuscules |
Upper(<chaîne>) |
VirtualLink |
Renvoie la clé étrangère d'un lien passée en premier paramètre, si les deux autres paramètres sont égaux |
VirtualLink(<nombre>, <nombre>, <nombre>) |
VirtualLinkStr |
Renvoie la clé étrangère (texte) d'un lien passée en premier paramètre, si les deux autres paramètres sont égaux |
VirtualLinkStr(<chaîne>, <nombre>, <nombre>) |
encryption_aescbcDecrypt |
Déchiffre une valeur chiffrée au format HEX avec le préfixe "x" (1er paramètre) à l'aide d'une clé au format HEX (2ème paramètre) et d'un vecteur d'initialisation au format HEX (3ème paramètre) |
encryption_aescbcDecrypt(<Chaîne>, <Chaîne>, <Chaîne>) |
encryption_aescbcEncrypt |
Chiffrement au moyen d'un algorithme AES (mode bloc CBC), une chaîne de caractères (1er paramètre) avec une clé (2e paramètre) et un vecteur d'initialisation (3e paramètre). La clé et le vecteur d'initialisation doivent être indiqués sous une représentation hexadécimale (commençant par \x). Le résultat sera sous forme hexadécimale sans \x. Notez que la taille de la clé peut être de 128, 192 ou 256 bits (16, 24 ou 32 caractères hexadécimaux), mais nous vous conseillons d'utiliser 256 bits et un ID randomisé de la même longueur que la clé. |
encryption_aescbcEncrypt(<Chaîne>, <Chaîne>, <Chaîne>) Par exemple : encryption_aescbcEncrypt(johndoe@exemple.com, "\x0123456789ABCDEF0123456789ABCDEF", "\x0123456789ABCDEFFEDCBA9876543210") |
Les fonctions d'agrégation sont disponibles uniquement lors de l'ajout de données additionnelles depuis une activité de Requête d'un workflow.
Elles sont utilisées pour effectuer des calculs sur un ensemble de valeurs.
Nom |
Description |
Syntaxe |
Avg, Moyenne |
Renvoie la moyenne d'une colonne de type numérique. |
Avg(<valeur>) |
Count, Comptage (sauf NULL) |
Compte les valeurs non nulles d'une colonne. |
Count(<valeur>) |
CountAll, Comptage intégral |
Compte toutes les valeurs (valeurs nulles et doublons inclus). |
CountAll() |
Countdistinct, Comptage distinct |
Compte les valeurs distinctes non nulles d'une colonne. |
Countdistinct(<valeur>) |
Max, Maximum |
Renvoie la valeur maximum d'une colonne de type numérique, chaîne ou date. |
Max(<valeur>) |
Min, Minimum |
Renvoie la valeur minimum d'une colonne de type numérique, chaîne ou date. |
Min(<valeur>) |
StringAgg, agrégat de chaîne |
Renvoie la concaténation des valeurs d'une colonne de type chaîne, séparée par le caractère dans le deuxième argument (le séparateur par défaut est une virgule). |
StringAgg(<valeurs de chaîne>,<séparateur>) |
Sum, Somme |
Renvoie la somme des valeurs d'une colonne de type numérique. |
Sum(<valeur>) |
Les fonctions de représentation sont utilisées pour classer des valeurs.
Nom |
Description |
Syntaxe |
Desc |
Applique un tri descendant |
Desc(<valeur 1>) |
OrderBy |
Trie le résultat au sein de la partition |
OrderBy(<valeur 1>) |
PartitionBy |
Partitionne le résultat d'une requête sur une table |
PartitionBy(<valeur 1>) |
RowNum |
Génère un numéro de ligne en fonction de la partition de la table et d'un ordre de tri. Fonction non supportée pour MySQL |
RowNum(PartitionBy(<valeur 1>), OrderBy(<valeur 1>)) |