Fonctions d'expression
Dernière mise à jour : 27/10/2026Utilisez des fonctions pour transformer des valeurs de ligne, gérer les données manquantes ou récupérer des valeurs associées lors de la création d'expressions. Pour plus de détails, voir Création d'expressions.
Les fonctions ci-dessous décrivent les expressions de tâches de déplacement dans les tâches de dépôt temporaire gérées par SaaS, de dépôt temporaire dans un lac et de réplication. Utilisez la signature de fonction affichée dans votre éditeur. Les crochets figurant dans les signatures indiquent des arguments facultatifs ; ne saisissez pas les crochets.
Pour les fonctions de transformation de flux et de stockage CDC, consultez Fonctions de transformation. Pour les expressions de stockage, de transformation et de datamart exécutées sur une plateforme de données cloud, utilisez la syntaxe de fonction de cette plateforme.
Fonctions de chaîne
Les fonctions de préfixe et de suffixe agissent sur le début ou la fin d'une chaîne de caractères. Le remplacement de caractères s'applique aux caractères individuels plutôt que de correspondre à un préfixe ou à un suffixe entier.
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$CONCAT(X, Y)
|
Joint les deux chaînes X et Y, dans cet ordre. Renvoie NULL si l'un ou l'autre argument est NULL. Imbriquez les appels pour joindre plus de deux chaînes. |
$CONCAT('My', 'Picture') renvoie 'MyPicture'. $CONCAT('My', NULL) renvoie NULL. |
$INSTR(string, substring)
|
Renvoie la position basée sur un de la première occurrence de substring dans string. Renvoie 0 si la sous-chaîne est introuvable. |
$INSTR('mystring', 'ing') renvoie 6. $INSTR('mystring', 'xyz') renvoie 0. |
$LENGTH(string)
|
Renvoie le nombre de caractères dans string et non sa taille en octets. |
$LENGTH('mystring') renvoie 8. |
$LOWER(string)
|
Renvoie une copie de string avec les lettres ASCII converties en minuscules. |
$LOWER('ABC') renvoie 'abc'. |
$LTRIM(string[, characters])
|
Supprime des caractères du début de string. L'argument characters en option est un ensemble de caractères à supprimer et non un préfixe. En cas d'omission, supprime les espaces. |
$LTRIM(' orders') renvoie 'orders'. $LTRIM('@@orders', '@') renvoie 'orders'. |
$REMOVE_PREFIX(string, prefix)
|
Renvoie une copie de string avec le prefix de début spécifié supprimé. |
$REMOVE_PREFIX('mystring', 'my') renvoie 'string'. |
$REMOVE_SUFFIX(string, suffix)
|
Renvoie une copie de string avec le suffix de fin spécifié supprimé. |
$REMOVE_SUFFIX('mystring', 'ing') renvoie 'mystr'. |
$REPLACE(string, pattern, replacement)
|
Remplace chaque occurrence de pattern dans string par replacement. Les trois arguments sont requis. Utilisez une chaîne de caractères de remplacement vide pour supprimer le texte correspondant. |
$REPLACE('a-b-c', '-', '_') renvoie 'a_b_c'. $REPLACE('a-b', '-', '') renvoie 'ab'. |
$REPLACE_CHARS(string, chars, replacement)
|
Remplace chaque caractère répertorié dans chars par le caractère à la même position dans replacement. Les caractères non répertoriés restent inchangés. S'il manque une position de remplacement, le premier caractère de remplacement est utilisé. |
$REPLACE_CHARS('mystring', 's', 'z') renvoie 'myztring'. $REPLACE_CHARS('abcde', 'abcd', '123') renvoie '1231e'. |
$REPLACE_PREFIX(string, prefix, replacement)
|
Remplace le prefix de début de string par replacement. |
$REPLACE_PREFIX('mystring', 'my', 'new') renvoie 'newstring'. |
$REPLACE_SUFFIX(string, suffix, replacement)
|
Remplace le suffix de fin de string par replacement au lieu de remplacer chaque occurrence. |
$REPLACE_SUFFIX('mystring', 'ing', 'new') renvoie 'mystrnew'. |
$RTRIM(string[, characters])
|
Supprime des caractères de la fin de string. L'argument characters en option est un ensemble de caractères à supprimer et non un suffixe. En cas d'omission, supprime les espaces. |
$RTRIM('orders ') renvoie 'orders'. $RTRIM('orders@@', '@') renvoie 'orders'. |
$SUBSTR(string, start[, length])
|
Extrait le texte de string, en commençant à la position basée sur un start. length spécifie le nombre de caractères. En cas d'omission, renvoie les caractères restants. |
$SUBSTR('abcdef', 2, 3) renvoie 'bcd'. |
$TRIM(string[, characters])
|
Supprime les caractères des deux extrémités de string. L'argument characters en option est un ensemble de caractères à supprimer et non une sous-chaîne. En cas d'omission, supprime les espaces. |
$TRIM(' orders ') renvoie 'orders'. $TRIM('@#orders#@', '@#') renvoie 'orders'. |
$UNICODE(string)
|
Renvoie le point de code Unicode numérique du premier caractère dans string. L'argument doit être une chaîne de caractères. |
$UNICODE('ABC') renvoie 65. |
$UPPER(string)
|
Renvoie une copie de string avec les lettres ASCII converties en majuscules. |
$UPPER('abc') renvoie 'ABC'. |
Fonctions numériques
Utilisez ces fonctions pour calculer des valeurs numériques pour la ligne active. $MAX et $MIN comparent les arguments au sein de la ligne et non les valeurs de toutes les lignes.
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$ABS(X)
|
Renvoie la valeur absolue de l'argument numérique X. |
$ABS(-20) renvoie 20. |
$MAX(arg1, arg2, ...)
|
Renvoie la plus grande valeur des arguments numériques fournis. Fournissez au moins deux arguments. | $MAX(10, 4, 20, 9) renvoie 20. |
$MIN(arg1, arg2, ...)
|
Renvoie la plus petite valeur des arguments numériques fournis. Fournissez au moins deux arguments. | $MIN(10, 4, 20, 9) renvoie 4. |
$RANDOM()
|
Renvoie un entier signé pseudo-aléatoire. Ne prend aucun argument. | $RANDOM() renvoie un entier qui peut être négatif, égal à zéro ou positif. Sa valeur varie d'un appel à un autre. |
$ROUND(value[, digits])
|
Arrondit value à digits décimales et renvoie une valeur à virgule flottante. Si digits est omis, arrondit à zéro décimale. |
$ROUND(3.141592, 3) renvoie 3.142. |
Fonctions LOB
Ces fonctions sont compatibles avec des objets binaires volumineux (BLOB). L'argument de taille N spécifie des octets et non des caractères.
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$HEX(blob)
|
Renvoie le texte hexadécimal en majuscules représentant les octets de blob. La saisie numérique commence par être convertie en texte ; le résultat n'est pas la représentation machine du nombre. |
$HEX(X'4142') renvoie '4142'. |
$RANDOM_BLOB(N)
|
Renvoie N octets pseudo-aléatoires. Si N est inférieur à 1, renvoie un octet. N'utilisez pas cette fonction comme garantie de caractère aléatoire cryptographique. |
$RANDOM_BLOB(4) renvoie un BLOB de quatre octets. Sa valeur varie d'un appel à un autre. |
$ZERO_BLOB(N)
|
Renvoie un BLOB contenant N octets zéro. |
$HEX($ZERO_BLOB(3)) renvoie '000000'. |
Fonctions de contrôle de valeur nulle
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$COALESCE(X, Y, ...)
|
Renvoie le premier argument non-NULL, dans l'ordre des arguments. Fournissez au moins deux arguments. Si tous les arguments sont NULL, le résultat est NULL. Une chaîne de caractères vide n'est pas NULL. | $COALESCE(NULL, 'Unknown') renvoie 'Unknown'. $COALESCE('', 'Unknown') renvoie une chaîne de caractères vide. |
$IFNULL(X, Y)
|
Renvoie X si elle n'est pas NULL ; sinon, renvoie Y. Renvoie NULL si les deux arguments sont NULL. Fournissez exactement deux arguments. |
$IFNULL(NULL, 'Unknown') renvoie 'Unknown'. $IFNULL('Known', 'Unknown') renvoie 'Known'. |
$NULLIF(X, Y)
|
Renvoie NULL si X et Y sont égaux ; sinon, renvoie X. Fournissez exactement deux arguments. |
$NULLIF('Unknown', 'Unknown') renvoie NULL. $NULLIF('Known', 'Unknown') renvoie 'Known'. |
Fonctions de date et heure
Fournissez une chaîne de caractères de date, d'heure ou de datetime telle que '2026-10-08', '12:34:56' ou '2026-10-08 12:34:56'. Conservez les constantes de date entre guillemets afin que les tirets ne soient pas interprétés comme une soustraction.
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$DATE(date_string)
|
Renvoie la date de date_string sous forme de texte au format YYYY-MM-DD. |
$DATE('2026-10-08') renvoie '2026-10-08'. |
$DATETIME(datetime_string)
|
Renvoie la date et l'heure de datetime_string sous forme de texte au format YYYY-MM-DD HH:MM:SS. |
$DATETIME('2026-10-08 12:34:56') renvoie '2026-10-08 12:34:56'. |
$JULIANDAY(datetime_string)
|
Renvoie les jours fractionnaires depuis midi à Greenwich le 24 novembre 4714 av. J.-C. Soustrayez deux valeurs de jour julien pour calculer un nombre de jours écoulés. | $JULIANDAY('2000-01-01 12:00:00') renvoie 2451545.0. $JULIANDAY('2026-10-09') - $JULIANDAY('2026-10-08') renvoie 1.0. |
$STRFTIME(format, datetime_string)
|
Renvoie le texte formaté à l'aide de format. Le format précède l'entrée de date ou de datetime. |
$STRFTIME('%Y-%m', '2026-10-08') renvoie '2026-10'. |
$TIME(time_string)
|
Renvoie l'heure de time_string sous forme de texte au format HH:MM:SS. |
$TIME('12:34:56') renvoie '12:34:56'. |
Substitutions de format
Combinez les substitutions suivantes avec des séparateurs littéraux dans $STRFTIME. Par exemple, '%Y-%m-%d %H:%M:%S' formate à la fois la date et l'heure. Une substitution non supportée renvoie NULL.
| Substitution | Signification |
|---|---|
%d
|
Jour du mois, 01-31. |
%H
|
Heure, 00-24. |
%f
|
Secondes avec partie fractionnaire, SS.SSS. |
%j
|
Jour de l'année, 001-366. |
%J
|
Numéro de jour julien. |
%m
|
Mois, 01-12. |
%M
|
Minutes, 00-59. |
%s
|
Secondes depuis le 1er janvier 1970 à 00:00:00 UTC. |
%S
|
Secondes, 00-59. |
%w
|
Jour de la semaine, 0-6 ; dimanche est 0. |
%W
|
Semaine de l'année, 00-53 ; les semaines commencent le lundi. |
%Y
|
Année, 0000-9999. |
%%
|
Signe de pourcentage littéral. |
Fonctions d'enrichissement de données
Utilisez une recherche pour ajouter une valeur associée telle qu'un nom de service (department) à partir d'une table dans le point de terminaison source ou cible.
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$SOURCE_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Récupère la valeur de expression depuis le table du point de terminaison source, dans schema, pour l'enregistrement qui correspond à condition. Les paramètres de condition fournissent des valeurs pour ses espaces réservés dans l'ordre. |
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID) récupère le nom de service (department) correspondant auprès de la source. |
$TARGET_LOOKUP(time_to_live, schema, table, expression, condition, condition_params)
|
Récupère la valeur de expression depuis le table du point de terminaison cible, dans schema, pour l'enregistrement qui correspond à condition. Les paramètres de condition fournissent des valeurs pour ses espaces réservés dans l'ordre. |
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID) récupère le nom de service (department) correspondant auprès de la cible. |
condition_params représente une liste d'arguments séparés par des virgules et non un seul argument de tableau. Les deux fonctions utilisent les paramètres suivants :
| Paramètre | Signification |
|---|---|
time_to_live
|
Durée de vie du cache requise, sans valeur par défaut. Indiquez la durée de vie du cache en secondes, Les durées de vie courtes actualisent les données qui changent souvent. Les durées de vie plus longues réduisent les requêtes de point de terminaison, mais peuvent renvoyer des valeurs mises en cache après la modification des données de recherche. N'utilisez aucune expiration uniquement pour les données qui ne changent pas. |
schema
|
Schéma contenant la table de recherche, fournie sous forme de texte. |
table
|
Table à interroger dans ce schéma, fournie sous forme de texte. |
expression
|
Expression SQL sélectionnant la valeur d'une colonne telle que 'DEPARTMENT_NAME' ou 'PRICE * 1.2'. Utilisez le dialecte SQL du point de terminaison en cours d'accès et non la syntaxe de fonction de l'expression externe. |
condition
|
Condition SQL identifiant l'enregistrement de recherche. Utilisez le dialecte et la syntaxe d'espace réservé du point de terminaison en cours d'accès : par exemple, :1 et :2 pour Oracle, ou ? pour Microsoft SQL Server. |
condition_params
|
Valeurs liées aux espaces réservés de condition, dans l'ordre. Les paramètres de colonne tels que $COMPANY_ID et $DEPARTMENT_ID fournissent les valeurs de la ligne en cours. |
Indexez les champs de recherche pour réduire le coût des requêtes. Sélectionnez une condition qui identifie l'enregistrement souhaité et définissez le type de données de la colonne ajoutée de sorte qu'il corresponde à la valeur sélectionnée.
$SOURCE_LOOKUP et de $TARGET_LOOKUP n'est pas supporté. Consultez Test d'expressions.Exemple de recherche de source
Pour une source Oracle, l'expression suivante récupère DEPARTMENT_NAME auprès de HR.DEPARTMENTS et met en cache le résultat pendant 60 secondes :
$SOURCE_LOOKUP(60, 'HR', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=:1', $DEPARTMENT_ID)
Si la ligne active contient DEPARTMENT_ID 10 et que l'enregistrement de recherche correspondant contient 'Sales', le résultat est 'Sales'.
Pour une source Microsoft SQL Server, utilisez sa syntaxe d'espace réservé de condition. Cet exemple lie les valeurs company et department dans cet ordre :
$SOURCE_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'COMPANY_ID=? AND DEPARTMENT_ID=?', $COMPANY_ID, $DEPARTMENT_ID)
Exemple de recherche de cible
Pour une cible Microsoft SQL Server, interrogez la table cible via son dialecte SQL :
$TARGET_LOOKUP(60, 'dbo', 'DEPARTMENTS', 'DEPARTMENT_NAME', 'DEPARTMENT_ID=?', $DEPARTMENT_ID)
Si l'enregistrement de recherche de cible de department 10 contient 'Sales', le résultat d'une valeur d'entrée 10 est 'Sales'.
Fonctions d'opération
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$OPERATION_INDICATOR(value_on_delete, value_on_update, value_on_insert)
|
Renvoie l'indicateur que vous spécifiez pour chaque opération source. L'ordre des arguments est supprimer, mettre à jour, puis insérer. Utilisez une colonne dédiée pour stocker les indicateurs et fournissez des valeurs d'indicateur qui correspondent à son type de données. | $OPERATION_INDICATOR('Deleted', 'Updated', 'Inserted') renvoie 'Updated' pour une mise à jour. |
Dans Qlik Replicate, cette fonction modifie également la gestion des suppressions : elle conserve l'enregistrement cible correspondant et le marque avec value_on_delete. Ce comportement de gestion des suppressions nécessite une confirmation pour Qlik Talend Cloud Data Integration.
Fonctions logiques
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$IFF(boolean_expression, true_value, false_value)
|
Renvoie true_value si boolean_expression est évalué sur true ; sinon, renvoie false_value. Commencez par fournir la condition, puis les deux valeurs de résultat. |
$IFF(10 > 5, 'High', 'Low') renvoie 'High'. $IFF(3 > 5, 'High', 'Low') renvoie 'Low'. |
Autres fonctions
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$LIKE(pattern, string[, escape_character])
|
Renvoie 1 en cas de correspondance ou 0 en l'absence de correspondance ; une entrée NULL produit NULL. % correspond à zéro ou plusieurs caractères ; _ correspond à un. La correspondance ignore la casse des lettres ASCII par défaut. L'échappement en option est un caractère. Le modèle vient en premier, contrairement à l'opérateur LIKE. |
$LIKE('A%', 'Alice') renvoie 1. $LIKE('10!%', '10%', '!') renvoie 1. |
$TYPEOF(expression)
|
Renvoie la classe de stockage de la valeur : 'null', 'integer', 'real', 'text' ou 'blob'. Il ne s'agit pas du type de colonne de sortie configuré. |
$TYPEOF(12.5) renvoie 'real'. |
Fonctions de hachage
| Fonction | Comportement et arguments | Exemple et résultat |
|---|---|---|
$SHA256(string)
|
Renvoie le hachage SHA-256 hexadécimal de la chaîne de caractères d'entrée. | $SHA256('abc') renvoie ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. |
Un hachage n'est pas un chiffrement. Les valeurs d'entrée prévisibles peuvent continuer à être identifiées en comparant leurs hachages.