Condividi tramite


!= (diverso da) (SSIS)

Esegue un confronto per determinare se due espressioni con tipi di dati compatibili sono diverse. L'analizzatore di espressioni converte automaticamente numerosi tipi di dati prima di eseguire il confronto.

Per alcuni tipi di dati, tuttavia, è necessario che l'espressione includa un cast esplicito per consentirne la corretta valutazione. Per ulteriori informazioni sui cast supportati tra tipi di dati, vedere Cast (SSIS).

Sintassi


expression1 != expression2
        

Argomenti

  • expression1, expression2
    Qualsiasi espressione valida.

Tipi restituiti

DT_BOOL

Osservazioni

Se una delle espressioni nel confronto è Null, il risultato del confronto sarà Null. Se entrambe le espressioni sono Null, il risultato sarà Null.

Il set di espressioni, expression1 e expression2, deve rispettare una delle regole seguenti:

  • Numeric   Il tipo di dati deve essere numeric sia per expression1 che per expression2. L'intersezione dei tipi di dati deve essere un tipo di dati numeric come specificato dalle regole relative alle conversioni numeriche implicite eseguite dall'analizzatore di espressioni. L'intersezione dei due tipi di dati numeric non può essere Null. Per ulteriori informazioni, vedere Conversione implicita dei tipi di dati nelle espressioni.

  • Character   Sia expression1 che expression2 devono restituire un tipo di dati DT_STR o DT_WSTR. Le due espressioni possono restituire valori con tipi di dati string diversi.

    [!NOTA]

    Per i confronti di stringa viene applicata la distinzione tra maiuscole e minuscole, tra caratteri accentati e non accentati, la distinzione Kana e di larghezza.

  • Date, Time o Date/Time   Sia expression1 che expression2 devono restituire uno dei tipi di dati seguenti: DT_DBDATE, DT_DATE, DT_DBTIME, DT_DBTIME2, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, DT_DBTIMESTAPMOFFSET o DT_FILETIME.

    [!NOTA]

    Il sistema non supporta i confronti tra un'espressione che restituisce un tipo di dati di ora e un'espressione che restituisce una data o un tipo di dati di data/ora. Viene generato un errore.

    In caso di confronto delle espressioni, vengono applicate le regole di conversione seguenti nell'ordine elencato:

    • Quando le due espressioni restituiscono lo stesso tipo di dati, viene effettuato un confronto del tipo di dati.

    • Se un'espressione è un tipo di dati DT_DBTIMESTAMPOFFSET, l'altra espressione viene convertita implicitamente in DT_DBTIMESTAMPOFFSET e viene eseguito un confronto DT_DBTIMESTAMPOFFSET. Per ulteriori informazioni, vedere Tipi di dati nelle espressioni di Integration Services.

    • Se un'espressione è un tipo di dati DT_DBTIMESTAMP2, l'altra espressione viene convertita implicitamente in DT_DBTIMESTAMP2 e viene eseguito un confronto DT_DBTIMESTAMP2.

    • Se un'espressione è un tipo di dati DT_DBTIME2, l'altra espressione viene convertita implicitamente in DT_DBTIME2 e viene eseguito un confronto DT_DBTIME2.

    • Se un'espressione è di un tipo diverso da DT_DBTIMESTAMPOFFSET, DT_DBTIMESTAMP2 o DT_DBTIME2, le espressioni vengono convertite nel tipo di dati DT_DBTIMESTAMP prima del confronto.

    In caso di confronto delle espressioni, il sistema presuppone quanto segue:

    • Se ogni espressione è un tipo di dati che include secondi frazionari, il sistema presuppone che il tipo di dati con il numero di cifre più basso per secondi frazionari presenti un valore pari a zero per le cifre rimanenti.

    • Se ogni espressione è un tipo di dati relativo alla data, ma solo una dispone di una differenza di fuso orario, il sistema presuppone che il tipo di dati senza la differenza di fuso orario sia espresso in formato UTC (Coordinated Universal Time).

  • Logical   Sia expression1 che expression2 devono restituire un valore booleano.

  • GUID   Sia expression1 che expression2 devono restituire un valore con tipo di dati DT_GUID.

  • Binary   Sia expression1 che expression2 devono restituire un valore con tipo di dati DT_BYTES.

  • BLOB   Sia expression1 che expression2 devono restituire un valore con lo stesso tipo di dati BLOB (Binary Large Object Block), ovvero DT_TEXT, DT_NTEXT o DT_IMAGE.

Per ulteriori informazioni sui tipi di dati, vedere Tipi di dati di Integration Services.

Esempi

In questo esempio viene restituito TRUE solo se la data corrente non è il 4 luglio 2003. Per ulteriori informazioni, vedere GETDATE (SSIS).

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

In questo esempio viene restituito TRUE se il valore nella colonna ListPrice non è 500.

ListPrice != 500

In questo esempio viene utilizzata la variabile LPrice. Viene restituito TRUE se il valore di LPrice non è 500. Per consentire l'analisi dell'espressione, il tipo di dati della variabile deve essere numeric.

@LPrice != 500