Opérateurs operators

Il existe deux types d’opérateurs : unaires et binaires. Les opérateurs unaires sont répartis en deux catégories : gauche et droite.

// left-hand unary operators
// <operator> <operand>
// operand is an expression
not (@event{LobbyBeacon.endUserIDs._experience.emailid.id}=="example@adobe.com")

// right-hand unary operators
// <operator> <operand>
// operand is an expression
@event{LobbyBeacon.endUserIDs._experience.emailid.id} is not null

// binary operators
// <operand1> <operator> <operand2>
// operand is an expression
(@event{LobbyBeacon.endUserIDs._experience.emailid.id}=="example1@adobe.com") or (@event{LobbyBeacon.endUserIDs._experience.emailid.id}=="example2@adobe.com")

Remarques importantes important-notes

  • Lors de l’utilisation d’une multiplication (*), les deux champs d’opération doivent avoir le même type, entier ou décimal. Exemple :

    • L’exemple suivant est correct :3.0 * 4.0
    • 3 * 4.0 entraîne une erreur
  • Lors de l’utilisation de l’opérateur +, l’expression doit être encapsulée entre parenthèses. Exemple :

    • toDateTimeOnly(toDateTime((currentTimeInMillis()) + 1)) est correct.
    • toDateTimeOnly(toDateTime(currentTimeInMillis() + 1)) entraîne une erreur

Logique logical

and

<expression1> and <expression2>

<expression1> et <expression2> doivent être booléens. Le résultat est booléen.

Exemple :

3.14 > 2 and 3.15 < 1

or

<expression1> or <expression2>

<expression1> et <expression2> doivent être booléens. Le résultat est booléen.

Exemple :

3.14 > 2 or 3.15 < 1

not

not <expression>

<expression> doit être booléen. Le résultat est booléen.

Exemple :

not 3.15 < 1

Comparaison comparison

est nul

<expression> is null

Le résultat est booléen.

Notez que null signifie que l’expression n’a pas de valeur évaluée.

Exemple :

@event{BarBeacon.location} is null

n’est pas nul

<expression> is not null

Le résultat est booléen.

Notez que null signifie que l’expression n’a pas de valeur évaluée.

Exemple :

@event{BarBeacon.location} is not null

est nul

<expression> has null

<expression> doit être une liste. Le résultat est booléen.

Utile pour identifier qu’une liste contient au moins une valeur « null ».

Exemple :

["foo", "bar", null] has null

Renvoie true.

["foo", "bar", ""] has null

Renvoie false car «  » n’est pas considéré comme « null ».

==

<expression1> == <expression2>
NOTE
Pour <expression1> et <expression2> il n’existe aucun contrôle de type de données.

Exemple :

3.14 == 42
"foo" == "bar"

!=

<expression1> != <expression2>
NOTE
Pour <expression1> et <expression2> il n’existe aucun contrôle de type de données.

Le résultat est booléen.

Exemple :

3.14 != 42
"foo" != "bar"

>

<expression1> > <expression2>

Il est possible de comparer une valeur Datetime à une autre valeur Datetime.

Il est possible de comparer une valeur Datetimeonly à une autre valeur Datetimeonly.

Il est possible de comparer des nombres entiers ou décimaux à d’autres nombres entiers ou décimaux.

Toute autre combinaison est interdite.

Le résultat est booléen.

Exemple :

3.14 > 42

>=

<expression1> >= <expression2>

Il est possible de comparer une valeur Datetime à une autre valeur Datetime.

Il est possible de comparer une valeur Datetimeonly à une autre valeur Datetimeonly.

Il est possible de comparer des nombres entiers ou décimaux à d’autres nombres entiers ou décimaux.

Toute autre combinaison est interdite.

Le résultat est booléen.

Exemple :

42 >= 3.14

<

<expression1> < <expression2>

Il est possible de comparer une valeur Datetime à une autre valeur Datetime.

Il est possible de comparer une valeur Datetimeonly à une autre valeur Datetimeonly.

Il est possible de comparer des nombres entiers ou décimaux à d’autres nombres entiers ou décimaux.

Toute autre combinaison est interdite.

Le résultat est booléen.

Exemple :

42 < 3.14

<=

<expression1> <= <expression2>

Il est possible de comparer une valeur Datetime à une autre valeur Datetime.

Il est possible de comparer une valeur Datetimeonly à une autre valeur Datetimeonly.

Il est possible de comparer des nombres entiers ou décimaux à d’autres nombres entiers ou décimaux.

Toute autre combinaison est interdite.

Le résultat est booléen.

Exemple :

42 <= 3.14

Arithmétique arithmetic

+

<expression1> + <expression2>

Les deux expressions doivent être numériques (nombres entiers ou décimaux).

Le résultat est également numérique.

Exemple :

1 + 2

Renvoie 3.

-

<expression1> - <expression2>

Les deux expressions doivent être numériques (nombres entiers ou décimaux).

Le résultat est également numérique.

Exemple :

2 - 1

Renvoie 1.

/

<expression1> / <expression2>

Les deux expressions doivent être numériques (nombres entiers ou décimaux).

Le résultat est également numérique.

<expression2> ne doit pas être égale à 0 (renvoie 0).

Exemple :

4 / 2

Renvoie 2.

*

<expression1> * <expression2>

Les deux expressions doivent être numériques (nombres entiers ou décimaux).

Le résultat est également numérique.

Exemple :

3 * 4

Renvoie 12.

%

<expression1> % <expression2>

Les deux expressions doivent être numériques (nombres entiers ou décimaux).

Le résultat est également numérique.

Exemple :

3 % 2

Renvoie 1.

Math math

est numérique

<expression> is numeric

Le type d’expression est entier ou décimal.

Exemple :

@ is numeric

est un entier

<expression> is integer

Le type d’expression est entier.

Exemple :

@ is integer

est décimal

<expression> is decimal

Le type d’expression est décimal.

Exemple :

@ is decimal

Chaîne string

+

<string> + <expression>
<expression> + <string>

Cet opérateur concatène deux expressions.

L’une des expressions doit être une chaîne de caractères.

Exemple :

"the current time is " + (now())

Renvoie « Il est actuellement 2023-09-23T09:30:06.693Z ».

(now()) + " is the current time"

Renvoie « 2023-09-23T09:30:06.693Z est l’heure actuelle ».

"a" + "b" + "c" + 1234

Renvoie « abc1234 ».

Date date

+

<expression> + <duration>

Permet d’ajouter une durée à une valeur dateTimeOnly ou à une durée.

Exemple :

(toDateTime("2023-12-03T15:15:30Z")) + (toDuration("PT15M"))

Renvoie une valeur dateTime 2023-12-03T15:30:30Z.

(toDateTimeOnly("2023-12-03T15:15:30")) + (toDuration("PT15M"))

Renvoie une valeur dateTimeOnly 2023-12-03T15:30:30.

(now()) + (toDuration("PT1H"))

Renvoie une valeur dateTime (avec fuseau horaire UTC) une heure plus tard que l’heure actuelle.

(toDuration("PT1H")) + (toDuration("PT1H"))

Renvoie une valeur duration PT2H.

Référence des connaissances sur l’IA

Cette section contient des connaissances structurées destinées à soutenir l’interprétation, la récupération et la réponse aux questions liées à ce sujet.

Pour une compréhension totale, ces informations doivent être combinées avec la documentation de cette page. Aucune des sources n’est conçue pour être autonome. La page décrit la fonctionnalité, tandis que cette section fournit un contexte supplémentaire qui permet de clarifier la terminologie, l’intention, l’applicabilité et les contraintes.

  • TL;DR: Cette page est une référence complète des opérateurs disponibles dans l’éditeur d’expression avancé de Parcours, couvrant les opérateurs logiques (and, or, not), de comparaison (==, !=, >, >=, <, <=, is null, is not null, has null), arithmétiques (+, -, /), de vérification de type mathématique (*, % is numeric is integer is decimal), de concaténation de chaîne et d’arithmétique de date.

Intentions:

  • Combinez des conditions booléennes en utilisant des opérateurs logiques and, or et not
  • Vérifier si une valeur de champ ou d’expression est nulle ou non à l’aide de is null / is not null
  • Détecter les valeurs nulles dans une liste à l’aide de l’opérateur has null
  • Comparez des valeurs numériques, datetime et datetimeonly à l’aide de >, >=, <, <=, == et !=
  • Exécuter des opérations arithmétiques sur des valeurs numériques à l’aide de +, -, /, * et %
  • Ajoutez une durée à une valeur dateTime, dateTimeOnly ou duration à l’aide de l’opérateur +

Glossaire:

  • Opérateur unaire : opérateur appliqué à un seul opérande ; il peut être gauche (par exemple, not) ou droit (par exemple, is null) (spécifique au produit)
  • Opérateur binaire : opérateur appliqué entre deux opérandes (par exemple and, ==, +) (spécifique au produit)
  • has null : un opérateur unaire droit qui retourne true si une liste contient au moins un élément null (product-specific)
  • est numérique / est un entier / est décimal : les opérateurs de vérification de type qui renvoient une valeur booléenne en fonction du sous-type numérique de l’expression (spécifique au produit)

Mécanismes de sécurisation :

  • Lors de l’utilisation de la multiplication (*), les deux opérandes doivent être du même type numérique (entier ou décimal) — le mélange des types provoque une erreur
  • Lors de l’utilisation de l’opérateur + pour l’arithmétique de date, l’expression doit être mise entre parenthèses pour éviter les erreurs d’analyse
  • Les opérateurs de comparaison (>, >=, <, <=) ne sont valides qu’entre les types compatibles : Datetime avec Datetime, DatetimeOnly avec DatetimeOnly ou numeric avec numeric — toute autre combinaison est interdite
  • Une "" de chaîne vide n’est pas considérée comme nulle — has null renvoie false pour une liste contenant des ""
  • Les opérateurs == et != n’effectuent aucun contrôle de type de données entre les opérandes

Terminologie:

  • Nom canonique : Opérateurs — Acronyme : none — variantes : opérateurs d’expression, opérateurs de parcours
  • Synonymes : and = « logique ET »; or = « logique OU »; not = « logique NON »; % = « modulo »
  • Ne pas confondre : is null (l’expression n’a pas de valeur évaluée) ≠ == null (syntaxe non valide) ; has null (la liste contient la valeur null) ≠ is null (l’expression elle-même est null)

FAQ:

  • Q : Puis-je multiplier directement un entier par une décimale ? — Non ; les deux opérandes de * doivent être du même type. Utilisez 3.0 * 4.0 (les deux décimales) ou 3 * 4 (les deux entiers).
  • Q : Comment ajouter 15 minutes à une dateTime ? — Utiliser (toDateTime("...")) + (toDuration("PT15M")).
  • Q : Quelle est la différence entre is null et has null ?is null vérifie si une seule expression n’a pas de valeur évaluée ; has null vérifie si une liste contient au moins un élément null.
  • Q : Est-ce que "" has null renvoie true ? — Non ; une chaîne vide n’est pas considérée comme nulle, le résultat est donc faux.
  • Q : Pourquoi 3 * 4.0 provoque-t-il une erreur ? — L’opérateur * exige que les deux opérandes soient du même type numérique ; le mélange de nombres entiers et décimaux n’est pas autorisé.
recommendation-more-help
journey-optimizer-help