Partager via


!= (Non égal) (SSIS)

Effectue une comparaison pour déterminer si deux expressions de types de données compatibles sont différentes. L'évaluateur d'expression convertit automatiquement de nombreux types de données avant de réaliser la comparaison.

Toutefois, pour certains types de données, il est nécessaire que l'expression contienne une conversion explicite afin qu'elle puisse être évaluée correctement. Pour plus d'informations sur les conversions valides entre types de données, consultez Cast (SSIS).

Syntaxe


expression1 != expression2
        

Arguments

  • expression1, expression2
    Toute expression valide.

Types des résultats

DT_BOOL

Notes

Si l'une des expressions de la comparaison est NULL, le résultat de la comparaison est NULL. Si les deux expressions sont NULL, le résultat est NULL.

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 implicite des types de données dans les expressions.

  • Caractère Les deux arguments expression1 et expression2 doivent correspondre à un type de données DT_STR ou DT_WSTR. Les deux expressions peuvent avoir une valeur de types de données chaîne différents.

    [!REMARQUE]

    Les comparaisons de chaîne respectent la casse, les accents, le jeu de caractères Kana et la largeur.

  • Date, Heure ou Date/Heure   Les deux arguments expression1 et expression2 doivent correspondre à l'un des types de données suivants : DT_DBDATE, DT_DATE, DT_DBTIME, DT_DBTIME2, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET ou DT_FILETIME.

    [!REMARQUE]

    Le système ne prend pas en charge les comparaisons entre une expression qui correspond à un type de données heure et une expression qui correspond à un type de données date ou date/heure. Le système génère alors une erreur.

    Lors de la comparaison des expressions, le système applique les règles de conversion suivantes dans l'ordre indiqué :

    • Lorsque les deux expressions correspondent au même type de données, une comparaison de ce type de données est effectuée.

    • Si une expression est d'un type de données DT_DBTIMESTAMPOFFSET, l'autre expression est implicitement convertie en DT_DBTIMESTAMPOFFSET et une comparaison DT_DBTIMESTAMPOFFSET est effectuée. Pour plus d'informations, consultez Types de données Integration Services dans les expressions.

    • Si une expression est d'un type de données DT_DBTIMESTAMP2, l'autre expression est implicitement convertie en DT_DBTIMESTAMP2 et une comparaison DT_DBTIMESTAMP2 est effectuée.

    • Si une expression est d'un type de données DT_DBTIME2, l'autre expression est implicitement convertie en DT_DBTIME2 et une comparaison DT_DBTIME2 est effectuée.

    • Si une expression est d'un type autre que DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 ou DT_DBTIME2, les expressions sont converties en type de données DT_DBTIMESTAMP avant leur comparaison.

    Lors de la comparaison des expressions, le système émet les hypothèses suivantes :

    • Si chaque expression est d'un type de données qui inclut des fractions de seconde, le système suppose que le type de données avec le moins grand nombre de chiffres pour les fractions de seconde inclut des zéros pour les chiffres restants.

    • Si chaque expression est d'un type de données date, mais qu'une seule a un décalage de fuseau horaire, le système suppose que le type de données date sans le décalage de fuseau horaire est exprimé en temps universel coordonné (UTC).

  • Logique   Les deux arguments expression1 et expression2 doivent correspondre à une valeur booléenne.

  • GUID   Les deux arguments expression1 et expression2 doivent correspondre au type de données DT_GUID.

  • Binaire   Les deux arguments expression1 et expression2 doivent correspondre au type de données DT_BYTES.

  • BLOB   Les deux arguments expression1 et expression2 doivent correspondre au même type de données BLOB (Binary Large Object Block) : DT_TEXT, DT_NTEXT ou DT_IMAGE.

Pour plus d'informations sur les types de données, consultez Types de données d'Integration Services.

Exemples

L'exemple suivant renvoie la valeur TRUE seulement si la date actuelle n'est pas le 4 juillet 2003. Pour plus d'informations, consultez GETDATE (SSIS).

"7/4/2003" != GETDATE()

L'exemple suivant renvoie la valeur TRUE si la valeur de la colonne ListPrice n'est pas 500.

ListPrice != 500

L'exemple suivant utilise la variable LPrice. Il renvoie la valeur TRUE si la valeur de la variable LPrice n'est pas égale à 500. Le type de données de la variable doit être numérique pour permettre l'analyse de l'expression.

@LPrice != 500