Conversion implicite des types de données dans les expressions
Une conversion implicite d'un type de données se produit lorsque l'évaluateur d'expression convertit automatiquement les données d'un type de données vers un autre. Par exemple, si un smallint est comparé à un int, le smallint est implicitement converti en int avant que la comparaison soit réalisée.
L'évaluateur d'expression ne peut pas effectuer la conversion implicite des données lorsque les arguments et les opérandes contiennent des types de données incompatibles. Par ailleurs, l'évaluateur d'expression ne peut pas convertir implicitement une valeur en une valeur booléenne. Les arguments et les opérandes doivent être donc être converties explicitement en utilisant l'opérateur de cast. Pour plus d'informations, consultez Cast (Expression SSIS) : conversion de types de données SSIS.
Le diagramme suivant indique le type de résultat des conversions implicites des opérations BINARY. L'intersection d'une colonne et d'une ligne produit le même type de résultat d'une opération binaire avec des opérandes des types gauche (From) et droit (To).
L'intersection d'un entier signé et d'un entier non signé est un entier signé potentiellement plus grand que l'un ou l'autre des arguments.
Les opérateurs comparent des chaînes, des dates, des valeurs booléennes et d'autres types de données. Avant qu'un opérateur ne compare deux valeurs, l'évaluateur d'expression effectue certaines conversions implicites. Pour plus d'informations, consultez les rubriques suivantes :
Une fonction qui utilise un seul argument renvoie un résultat dont le type de données est celui de l'argument, sauf dans les cas suivants :
Les fonctions DAY, MONTH et YEAR acceptent une date et renvoient un résultat entier (DT_I4).
La fonction ISNULL accepte une expression de n'importe quel type de données SSIS et renvoie un résultat booléen (DT_BOOL).
Les fonctions SQUARE et SQRT acceptent une expression numérique et renvoient un résultat numérique non intégral (DT_BOOL).
Si les arguments possèdent le même type de données, le résultat est de ce type. La seule exception est une opération binaire sur deux valeurs de type de données DT_DECIMAL, car celle-ci renvoie un résultat dont le type de données est DT_NUMERIC.
Ressources externes
Publication technique, Feuille de triche des expressions SSIS, sur le site pragmaticworks.com
Voir aussi