Share via


? : (Conditionnel) (SSIS)

Renvoie une des deux expressions d'après l'évaluation d'une expression booléenne. Si l'expression booléenne donne la valeur TRUE, la première expression est évaluée et le résultat est le résultat de l'expression. Si l'expression booléenne donne la valeur FALSE, la deuxième expression est évaluée et son résultat est le résultat de l'expression.

Syntaxe


boolean_expression?expression1:expression2
        

Arguments

boolean_expression

Expression valide qui renvoie TRUE, FALSE ou NULL.

expression1

Toute expression valide.

expression2

Toute expression valide.

Types des résultats

Le type de données expression1 ou expression2. Pour plus d'informations, consultez Types de données d'Integration Services.

Notes

Les arguments expression1 et expression2 doivent donner des types de données valides.

Si les arguments expression1 et expression2 ont le même type de données, le résultat est de ce type de données. Tous les types de données SSIS sont pris en charge. Les règles suivantes supplémentaires s'appliquent :

  • Le type de données DT_TEXT nécessite que les arguments expression1 et expression2 aient la même page de codes.
  • La longueur d'un résultat dont le type de données est DT_BYTES correspond à la longueur de l'argument le plus long.

Si les arguments expression1 et expression2 ont des types de données différents, les règles suivantes s'appliquent :

L'ensemble d'expressions, expression1 et expression2, doit être conforme à l'une des règles suivantes :

  • Numérique. Les deux arguments expression1 et expression2 doivent être d'un type de données numérique. L'intersection des types de données doit être de type de données numérique, comme le spécifient les règles relatives aux conversions numériques implicites effectuées par l'évaluateur d'expression. L'intersection des deux types de données numériques ne peut pas être NULL. Pour plus d'informations, consultez Conversion des types de données dans les expressions.
  • Chaîne. Les deux arguments expression1 et expression2 doivent être d'un type de données chaîne : DT_STR ou DT_WSTR. Les deux expressions peuvent avoir une valeur de types de données chaîne différents. Le résultat a le type de données DT_WSTR et une longueur équivalente à celle de l'argument le plus long.
  • Date. Les deux arguments expression1 et expression2 doivent correspondre à l'un des types de données date : DT_DBDATE, DT_DATE, DT_DBTIME, DT_DBTIMESTAMP ou DT_FILETIME. Les deux expressions peuvent s'évaluer à des types de données date différents. Le résultat a le type de données DT_DBTIMESTAMP.

Si l'argument boolean_expression prend la valeur NULL, le résultat de l'expression est NULL. Si une expression sélectionnée, expression1 ou expression2 prend la valeur NULL, le résultat est NULL. Si une expression sélectionnée n'a pas pour valeur NULL mais que l'expression non sélectionnée a pour valeur NULL, le résultat est la valeur de l'expression sélectionnée.

Exemples

L'exemple suivant montre une expression qui selon une condition prend la valeur savannah ou unknown.

@AnimalName == "Elephant"? "savannah": "unknown"

L'exemple suivant montre une expression qui référence une colonne ListPrice. La colonne ListPrice a le type de données DT_CY. L'expression multiplie selon une condition la valeur de la colonne ListPrice par 0,2 ou 0,1.

ListPrice < 350.00 ? ListPrice * .2 : ListPrice * .1

Voir aussi

Concepts

Priorités et associativité des opérateurs

Autres ressources

Opérateurs (SSIS)

Aide et Informations

Assistance sur SQL Server 2005