Différences au sein dles fonctionnalités
Index dans les fonctions de boucle et de sous-chaînes de caractères
Dans des maps standards, vous pouvez vous référer à un index de boucle à l'aide de la fonction LoopIndex. Dans ce cas, l'index de la première occurrence est 1. Pour plus d'informations, consultez LoopIndex.
Dans les maps DSQL, vous pouvez vous référer à un index de boucle à l'aide du mot-clé INDEX dans une clause FROM. Dans ce cas, l'index de la première occurrence est 0. Pour plus d'informations, consultez Utiliser la clause FROM.
La même différence s'applique aux fonctions de sous-chaînes de caractères (substring). Dans la fonction Substring standard, l'index du premier caractère est 1, alors que dans la fonction subString DSQL, l'index du premier caractère est 0.
Regroupement
Dans les maps standards, vous pouvez grouper des éléments à l'aide de la fonctionnalité Distinct dans la fonction SimpleLoop. Cette fonctionnalité retourne les groupes dans l'ordre dans lequel les valeurs de l'élément de groupe ont été trouvées dans les données d'entrée. Pour plus d'informations, consultez SimpleLoop.
Dans les maps DSQL, vous pouvez grouper des éléments avec la clause GROUP BY. Les groupes sont retournés sans ordre défini. Pour plus d'informations, consultez Utiliser la clause GROUP BY.
Boucles déroulées et boucles scindées
- clauses LET et SET pour définir une variable
- Expressions conditionnelles
Ces fonctionnalités peuvent tout de même être utilisées sur la boucle originale.
Formatage de chaînes de caractères
Lorsqu'un élément d'entrée contient une valeur nulle et que l'élément de sortie est une chaîne de caractères non nullable, les maps standards retournent une chaîne de caractères vide. Dans les maps DSQL, l'attribut Nullable est ignoré est une valeur nulle est retournée.
Formatage des nombres
- Lorsque les données d'entrée ne correspondent pas à une contrainte numérique, les map standards produisent un avertissement et continuent leur traitement, alors que les maps DSQL produisent une exception et arrêtent leur traitement.
- Lorsqu'une valeur numérique est formatée comme une chaîne de caractères avec une taille fixe en sortie, des espaces sont ajoutés à droite de la valeur (right-padded) dans les maps standards et des zéros sont ajoutés à gauche de la valeur (left-padded) dans les maps DSQL.
- Dans les maps DSQL, les expressions numériques concernant des fractions sont gérées avec le type de données Float. Lorsque l'élément de sortie est défini comme Decimal sans échelle explicite, le résultat préserve l'échelle du type Float. Ce n'est pas le cas des maps standards. Par exemple, si le résultat de l'expression est 0.20000000298023224, la map DSQL retourne cette valeur, tandis que la map standard retourne 0.2. Vous pouvez utiliser la fonction formatNumber dans les maps DSQL pour formater la sortie.
Tableaux vides imbriqués
Les maps standards et DSQL se comportent différemment lorsqu'elles rencontrent un tableau vide lors d'une itération sur des tableaux imbriqués.
[
{
"lastname" : "Cruise",
"firstnames" : [ "Tom", "Robert" ]
},
{
"lastname" : "Ford",
"firstnames" : [ ]
}
]
[
{
"lastname": "Cruise",
"firstname": "Tom"
},
{
"lastname": "Cruise",
"firstname": "Robert"
},
{
"lastname": "Ford",
"firstname": ""
}
]
[
{
"lastname": "Cruise",
"firstname": "Tom"
},
{
"lastname": "Cruise",
"firstname": "Robert"
}
]
Dans le cas de la map DSQL, le nom de famille Ford est ignoré car le tableau correspondant firstnames est vide, ce qui signifie qu'il n'y avait pas d'élément sur lequel effectuer l'itération.